- 1 名前:名前は開発中のものです。 mailto:sage [2009/04/23(木) 08:11:08 ID:iAS0afeL]
- 無料Windows用2Dゲーム作成ツール"Game Maker"について、色々と語り合うスレッドです。
●本家(英語) ttp://www.gamemaker.nl/ ●GameMaker Japan - 非公式情報サイト(日本語) ttp://gamemaker.main.jp/(現在一時閉鎖中) 前スレ 【2D】ゲーム作成ツールGameMaker part3【マンセー】 ttp://pc11.2ch.net/test/read.cgi/gamedev/1210437707/
- 368 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 15:12:23 ID:p3CCNVlM]
- ありがとうございます!さっそく直してみます。親オブジェクトのクリエイトイベントで
pt[0,0]=instance_create(x,y,prt) pt[0,1]=instance_create(x,y-10,prt) pt[0,1].L=point_distance(x,y,pt[0,0].x,pt[0,0].y); pt[0,1].A=point_direction(x,y,pt[0,0].x,pt[0,0].y); という風にやっています(Angleはprtから返ってくるようになっています) ちょっと動くかどうか確かめてみますね…
- 369 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 15:15:57 ID:p3CCNVlM]
- やった!動きました!ありがとうございます!(連投すいません)
- 370 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 17:57:51 ID:iXSll8nt]
- mbtext_drawって結構CPU負荷高そうだね
アイテム一覧など、画面中に文字が表示されるような場合は素直に一つ一つスプライト作った方がいいかな
- 371 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 18:08:33 ID:2qZWX7kG]
- >>370
それがいいと思う 数百文字くらいなら平気だけど、半角文字を1000字超えるとやばいかも…… 自分は1000字描画して30fpsまで下がった経験アリ。
- 372 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 20:16:00 ID:iXSll8nt]
- やっぱりそうか
アイテムの名前のスプライトをGIFで作ってみたけど、一つあたりの容量は300バイト 仮に1000個のアイテム名スプライトをグローバル変数に格納したとしても 300KBだから余裕そうだ
- 373 名前:名前は開発中のものです。 mailto:sage [2009/09/05(土) 21:04:10 ID:GoHukLEx]
- surface使えるなら、surfaceに描画→画面に表示ができるので、
毎フレーム mbtext_draw() を呼ばなくて済む。
- 374 名前:名前は開発中のものです。 mailto:sage [2009/09/06(日) 01:54:45 ID:r0F+BZ3f]
- マイクって使えるのかな?
DSでマイクに息を吹き掛けると葉っぱを飛ばせるとかそういうのがあるけどそれもどきみたいな
- 375 名前:名前は開発中のものです。 mailto:sage [2009/09/06(日) 11:36:57 ID:5yze3jpk]
- 標準ならそれは無理。
マイクからの音声を解析するプラグインを自作すれば可能かもしれない。
- 376 名前:名前は開発中のものです。 mailto:sage [2009/09/06(日) 17:03:10 ID:rREoIiJg]
- messy-mindのサンプルがわけわからん
- 377 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 09:34:29 ID:/JVvCKur]
- 横スクロールアクションゲームの雛形とかどこかに落ちてないでしょうか
キー操作と当たり判定が安定しなくて困ってます
- 378 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 10:13:48 ID:ADkvlysT]
- >>377
公式サイトのTutorial: Creating a Scrolling Shooterを 横にすりゃいい話
- 379 名前:名前は開発中のものです。 [2009/09/07(月) 14:17:04 ID:ADkvlysT]
- あと>>376お願い
- 380 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 17:14:50 ID:V7WLXwLP]
- 教えて欲しいのなら、それ相応の態度ってもんがある
- 381 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 20:10:07 ID:V+VMrqdA]
- お願いってなにをどう?
- 382 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 21:12:47 ID:mhvu03xI]
- >>377
またお前か、いいかげん努力することを覚えろ
- 383 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 23:08:44 ID:k+fWuIeg]
- >>382
たぶんそれは俺と勘違いしてるんじゃないかな。
- 384 名前:名前は開発中のものです。 mailto:sage [2009/09/07(月) 23:52:10 ID:VD5vQbb8]
- GMのサンプルや解説ばかり見るよりも、
アクションゲームを題材にやってるプログラミング講座の方が役にたったりするなー GMでも同等の設定は出来るんだし。
- 385 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 04:03:19 ID:+XBuIauZ]
- フライト型のシューティングから戦車型のシューティングを作り始めたのですが
フライト型のシューティングの場合ずっと上向いたまま方向キーで移動って 感じだと思うんですが、斜め上押したら機体が斜め上を向いて弾が斜め上に発射されるように 右に押したら右向き、左押したら左向き、下押したら下向きになり360度 弾を発射できるようにしたいのですがどのようにすればよろしいでしょうか? ご教授お願いします
- 386 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 08:56:11 ID:/byrtEQI]
- FMOD使ってる奴誰かいる?
mp3のループ位置指定したいならあれがおすすめ。 初めて使ったときには感動したよ。 >385 keyboard_check_pressed()で押してるキーの方向を調べる まずはそれからだ
- 387 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 17:07:31 ID:yMvKz00+]
- 縦スクロールシューティングじゃなくて全方位スクロールシューティングってことかな
- 388 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 20:55:58 ID:qBHJfdMm]
- >>386
移動グラフィックも横に移動する時は横移動専用グラに、下に移動する時は 正面とかには出来てるんですよ、弾が8方向に発射できないんです。 後右に移動中、右を押した時に止まったら右向いたまま静止したグラフィック にしたいんですがドラクエみたいに止まっててもキャラが行進してるみたいに アニメーションが動き続けてて不自然だったり・・・・ >>387 はい、ツインビータイプのシューティングゲームなら作れるようになったので次のステップで 全方位移動できるものを手がけて見てるのですが方向キーを押して機体が向いている方向に弾を撃つと いうのが出来なくて困ってます・・・
- 389 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 21:17:51 ID:bomSovik]
- 機体の向きを記録しておく変数を用意すればいいんじゃないかな
斜めについては↑と→が同時に押されている、という判定をする必要があったりするね で、キーを押してないときはimage_speedを0にすればアニメーションは止まる またアニメーションさせる場合はimage_speedを1に。
- 390 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 22:26:34 ID:qBHJfdMm]
- >>389
変数ですか・・・・ちょっとこの辺は似たようなサンプルも手持ちが無くて 参考になるものがあればよいのですが・・・、斜めの移動は1945のサンプル 見て大体わかったのですが・・・ アニメーション停止については解決しました、ありがとうございます
- 391 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 22:35:11 ID:+vLZe3xT]
- 戦車オブジェクトのCreateイベントに「houi(任意)」を作って、
戦車の向きが変わったらhouiが0〜7に変わる(8方向の場合) 弾を出すとき、数字によって弾の角度が変わる ってのはどうかしらん? 素人考えでスマソ
- 392 名前:名前は開発中のものです。 mailto:sage [2009/09/08(火) 22:48:41 ID:qBHJfdMm]
- >>391
あ、そういう風にもできるのですか。 ありがとうございます、ちょっと試してみます
- 393 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 06:13:31 ID:47tng92/]
- 「あるオブジェクトと接触していない」っていうのを判定する場合はGMLを使わないと無理?
- 394 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 06:15:47 ID:UaP+j4GV]
- >>393
無理ではないけど、マニュアルのGMLのページを読む必要はある
- 395 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 06:47:52 ID:47tng92/]
- If there is an object at a positionを使えばいいだけだったか
コントロールタブのクエスチョンのアクションは殆ど使ってなかったから見落としてた
- 396 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 07:09:03 ID:UaP+j4GV]
- あーそういえばそういうのあったかなぁ……
ゴメン、また適当なこと言ってしまったようだ……
- 397 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 10:00:28 ID:mrrP95Ft]
- スプライトの変更についてなのですが
@stepイベントの最後で sprite_index = ***; と書く Adrawイベントの最後で draw_sprite(***, -1, x, y); と書く これって、処理的な速さに差があったりします? あるとしたらどっちが速いのでしょうか
- 398 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 10:00:30 ID:dn0E42Rr]
- Pro版ってインストしたPCじゃないと使えないんだっけ?
誰か引越し経験のある人とかいる?
- 399 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 19:20:37 ID:lbfPELMo]
- >>397
関数呼び出しにオーバヘッドがある、Viewが複数あるとその数だけ呼び出される、 スプライトが画面外でも呼び出される(標準の描画もそこまで最適化されてるか知らんけど) といったわけで、少くとも(2)が速くなる要素はない。 image_angleとかalphaとかもdraw_spriteだと反映されないしね(_exの方使わないといけない) あと、スプライトの変更はEnd stepでやった方が都合がいいケースが多いと思うよ。
- 400 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 20:35:41 ID:AOka8aHz]
- 質問です。
GM8で作ったexeかgmkはここにうpしていいんですか? and ここってsage進行ですか? 英語はまったく苦手で・・・ お願いします。
- 401 名前:名前は開発中のものです。 mailto:sage [2009/09/09(水) 22:46:33 ID:mrrP95Ft]
- >>399
回答ありがとうございます。drawイベントは別のobjectにやらせたほうが良さげですね。 実はBegin StepとEnd Stepは使ったことなかったり… >>400 日記帳的な意図でなければいいんじゃないでしょうか。 sage進行という決まりはありませんが、sageておくのが無難だと思われます。
- 402 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 12:39:08 ID:Ao+mJGHi]
- シューティングとかで自機がルーム外に出ないようにするのってどうするのがいいかな
自機がルーム外に出たらルーム内に戻すって方法だとルーム際でガクガクするし ルーム内でのみ移動可能にした場合は、移動速度とルームの大きさの兼ね合いでルームからはみ出たりするし ルームの上下左右に透明のsolidオブジェクトを置いて それぞれにMove to Contactアクションを使えばガクガクせずに止められるけど これではちょっとなあ
- 403 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 12:51:29 ID:RlEeJ7eb]
- ルーム際でhspeed(vspeed)を0にしたらいいんでないの
- 404 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 12:57:27 ID:Ao+mJGHi]
- それだと一定の位置で止まらないんですよねぇ
ルーム外に出ないは出ないですが
- 405 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 13:06:05 ID:hSzFwkeE]
- はみ出る動作を感知したら位置を端に指定じゃだめなのか
- 406 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 13:37:58 ID:Ao+mJGHi]
- >>405
ステップイベントで自機のyが0以下になったらyを0にするって感じでしょうか 移動キーを押してる間ははみ出てるんですよね 移動キーを離した時に指定した位置に戻るからガクガクするっていう
- 407 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 13:52:42 ID:pvrI1+XA]
- 計算ミスってるか処理の順番が不味いんじゃないかなあ
>>403 や >>405 のような方法で大抵何とかなるよ 大まかな流れとして 1キー入力 2自機座標変更 3衝突判定(ルームの端) 4座標補正 5描画 となるからガクガクにはならないような
- 408 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 13:54:50 ID:RlEeJ7eb]
- うーむ 問題無いはずなんだが
キー入力とステップのスクリプトを書いてくれたら原因分かるかもしれん
- 409 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 17:12:19 ID:GAvr9i6d]
- >>401
回答ありがとうございます。 >>406 End Stepでしたらどうでしょうか?
- 410 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 17:21:10 ID:Ao+mJGHi]
- すいません、ガクガクするって言うのはちょっと違っていたかも
ピョコピョコするって言う方が合ってるかな(笑) キーボードイベントにvspeed(奇数)(ルームサイズは偶数) ステップイベントに
- 411 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 17:44:47 ID:Ao+mJGHi]
- 途中送信しちゃいました
書き直してる間にStepじゃなくEnd stepでやってみたらうまくいったようです 試行錯誤してる時にBegin stepに変数でyの値を取らせて end stepで変数が1未満になった場合yを0にするなんてのをやっていて これだと文字通りガクガクになっていたのでEnd stepでは駄目なものと思い込んでいました 余計な事をせずEnd step単体でやっていればよかったのですね また問題が出てきたら質問させてください >>406 うまくいきました、どうもありがとうございます
- 412 名前:名前は開発中のものです。 mailto:sage [2009/09/10(木) 17:46:44 ID:Ao+mJGHi]
- 間違えました
>>406は>>409です
- 413 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 03:04:37 ID:bWGyFb/B]
- 日本語開発環境の最新版どれ?
- 414 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 07:12:37 ID:WmhcaQ8r]
- そんなものはない
- 415 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 09:03:43 ID:Vn/Mnp9J]
- フォントによって、フォントを入れても
反映されたりされなかったりするのは、 何か法則というか原因があるんだろうか
- 416 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 17:28:27 ID:XgfJ+c5R]
- ux.getuploader.com/unko/
ここにあるUMEN!とあるファイルがエラーを起こしてしまいます どうゆうことかわからないのでお願いします
- 417 名前:名前は開発中のものです。 mailto:sage [2009/09/11(金) 22:13:27 ID:6or23V1v]
- >>415
フォント指定するときに文字セットが決め打ちになってるっぽい だから日本語環境だと日本語の含まれてるフォントしか選べないっぽ
- 418 名前:名前は開発中のものです。 mailto:sage [2009/09/12(土) 01:14:02 ID:NjObJnmn]
- >>417
なるほどなぁ・・どうりで欧文フォントが全滅なわけだ 回答ありがとうございました。
- 419 名前:名前は開発中のものです。 mailto:sage [2009/09/12(土) 11:29:23 ID:Yx+Hiy/U]
- ttp://gmc.yoyogames.com/index.php?showtopic=444737
ここにあるサンプルのscriptの使い方が いまいちわかりません どなたかご教授お願いします。
- 420 名前:名前は開発中のものです。 mailto:sage [2009/09/12(土) 14:06:44 ID:4PGE4Tio]
- 何がどうわからないのか書いてもらわないと何とも言えないな
もう少し具体的な質問をしてくれ
- 421 名前:名前は開発中のものです。 mailto:sage [2009/09/12(土) 18:01:11 ID:Yx+Hiy/U]
- >>420
このサンプルのスクリプトを 今作っているゲームに 移植したいのですが どうすればいいでしょうか
- 422 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 00:02:24 ID:1jEpsejJ]
- こういうこと言い出すやつって、本質的にクレクレ君と同じなんだよな…。
- 423 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 00:28:41 ID:jMCXhq5m]
- よく分からんが、スクリプトファイルを取り込みたいのか?
だったら上のメニューのscriptsからInport suriptsで読み込め 違ってたら知らん
- 424 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 16:27:45 ID:p5hEzzoR]
- gamemaker製のゲームは、外部ツール(スペシャルねこまんま等)でチート不可能?
HP無限とかやろうとしても値の検索で全く引っ掛からない。何らかの方法で成功した人います?
- 425 名前:名前は開発中のものです。 mailto:sage [2009/09/13(日) 20:29:41 ID:I+gEBOMY]
- 俺もやったことあるけど、全然引っかからんよね。
内部エンジンでデータをうまく隠蔽しているのかもしれない。
- 426 名前:名前は開発中のものです。 mailto:sage [2009/09/14(月) 09:34:32 ID:RXOBG/FO]
- 誰かセーブデータ自分で作ってる奴いる?
セーブするときは保存したいインスタンスの情報や変数をリストかマップに放り込んでテキストに書き出し、 ロードするときはそのテキストを読み込んで、読み込んだ変数の値に応じてインスタンスを生成、って感じかな バージョンの違うゲームにセーブデータを引継ぎたいとか考えたとき、 game_save()でセーブした状態だと具合が悪いんだよな。
- 427 名前:名前は開発中のものです。 mailto:sage [2009/09/14(月) 09:39:34 ID:zP2siJVO]
- 全く同じ質問が前あったな
- 428 名前:名前は開発中のものです。 mailto:sage [2009/09/16(水) 19:19:52 ID:Yx5Euy68]
- instance_nearestで複数ある同一オブジェクトで
自分以外のインスタンスを返すようにするには どうすればいいでしょうか? 例えばobject0でinstance_nearest(x,y,object0) とすると、selfとおなじidが返ってきます。
- 429 名前:名前は開発中のものです。 mailto:sage [2009/09/16(水) 20:12:26 ID:SEBaUMKZ]
- >>428
自分自身を一時的にdeactivateするか、 うんと遠くまでどかしてからinstance_nearestを使う方法がある。 (後者だとインスタンスが1つしかない場合に穴がありそうだけど 距離が10000くらい離れてるとなぜか認識されなくなるらしい) 当然、instance_nearestした後で元に戻さなくちゃいけない。 ちなみに海外フォーラムでもよくあがる話題で、 instance_nth_nearestってスクリプトが作られてたりするね。
- 430 名前:名前は開発中のものです。 mailto:sage [2009/09/16(水) 20:34:13 ID:Yx5Euy68]
- >>429
ありがとうございます。
- 431 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 20:53:49 ID:5S7IAZYd]
- image_indexの画像なのですが
0以上1未満が0のスプライト 1以上2未満が1のスプライト 2以上3未満が2のスプライト …… という風になっていくのでしょうか?
- 432 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 21:04:46 ID:hGqWeT/Y]
- >>431
Drawイベントに何も書かずに自動描画させる場合はその通り (image_indexの説明にも切り捨てと書いてある) draw_spriteとかで描画する時は四捨五入なので気をつけれ
- 433 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 22:37:36 ID:5S7IAZYd]
- >>432
失礼 マニュアル完全に見落としてました
- 434 名前:名前は開発中のものです。 mailto:sage [2009/09/22(火) 04:26:50 ID:w/Ku3kIC]
- ヘルスバーって縦には出来ないのか…
色変化着きで自作するとしたらどんな感じ?
- 435 名前:名前は開発中のものです。 mailto:sage [2009/09/22(火) 05:39:11 ID:2EKdsgud]
- draw_healthbar(x1,y1,x2,y2,amount,backcol,mincol,maxcol,direction,showback,showborder)
のdirection 自作するならまず長方形の頂点のうち、固定させる点と動く点を考える。 色は 緑→ 黄→ 赤 R000→255→255 G255→255→000 B000→000→000 つまり、まずR:G:B=0:255:0から始めてRを伸ばし、 Rが最大になったらGを減らす。
- 436 名前:名前は開発中のものです。 mailto:sage [2009/09/22(火) 06:08:24 ID:w/Ku3kIC]
- アクションの方しか見ていなかった…
朝早くからありがとうございまうす
- 437 名前:名前は開発中のものです。 mailto:sage [2009/09/22(火) 10:45:10 ID:sLIwRJKt]
- GM8はいつごろでるのかなー
7をそのままか、多少の作業で移行できるなら8にするんだが・・・ あと6の日本語ヘルプがそのまま使えるならいいけど 誰か新しいヘルプ、変更部分だけでも翻訳してくれないかな
- 438 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 10:09:09 ID:MsIgK8QF]
- そうそうw
てゅーかGM8ってどんな機能? 日本語化は出来れば欲しいなww
- 439 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 12:49:51 ID:NmL6fvhc]
- これか? >>139
アルファチャンネル完全対応はありがたいな いまでも出来ないことはないけど、完全対応してくれれば作業が結構らくになる。 現状だと、ちゃんとやらないとスプライトの周りに白いのが残っちゃうんだよね
- 440 名前:名前は開発中のものです。 [2009/09/23(水) 15:13:37 ID:stBFqZnk]
- エフェクトソフト試したことあるけど、アルファ使えないからしょぼいのしか作れなかったことあるなー
手書きと変わらないようなの
- 441 名前:名前は開発中のものです。 mailto:sage [2009/09/24(木) 17:00:08 ID:O67grr7X]
- オブジェクトを回転させることってできますか?
- 442 名前:名前は開発中のものです。 mailto:sage [2009/09/24(木) 18:02:00 ID:Zjeeh2M9]
- 余裕でできる
- 443 名前:名前は開発中のものです。 mailto:sage [2009/09/24(木) 18:45:33 ID:O67grr7X]
- >>442
あらかじめ回転させたスプライトを一個一個作らないとやっぱりだめですか?
- 444 名前:名前は開発中のものです。 mailto:sage [2009/09/24(木) 20:17:06 ID:XWhm4CP8]
- image_angle この値に応じて、スプライトが回転します。値は左回りの度(0-360)で指定し、0 で通常です。 この機能は、レジストバージョンのみ有効です。
- 445 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 09:06:01 ID:mgX8NLYW]
- うむ、draw_sprite_extにデータ構造、sprite_add_alphaだけでもレジスト買う価値はあるな。
ちょっと凝ったことしようと思ったらLiteじゃきつい
- 446 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 12:33:15 ID:DzBOtpuu]
- ホ!RCはセカンドβのデータ読み込めるじゃないの!
- 447 名前:名前は開発中のものです。 [2009/09/25(金) 17:58:26 ID:a1fJdlo4]
- ところで8のベータやってみた人っている?
7までで使えて8で使えなくなってた関数とか結構ある?
- 448 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 18:38:19 ID:T1K9b3DK]
- >>444
ありがとうございます。……レジストバージョン買おうかなぁ。
- 449 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 22:30:39 ID:DIDYZoHj]
- これってコンパイルしたゲームでも、起動時にエラーチェックとかしてるんですかね?
ゲームが複雑になると起動が遅くなるような気がするんですが もちろんPrelordは全部はずしてます
- 450 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:22:37 ID:BfOX1zJg]
- オブジェクトAにオブジェクトBとの接触イベントを設定すると
オブジェクトAがオブジェクトBの子オブジェクトに接触しても作動するんだね これは便利でもあるけど不便でもあるな
- 451 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 22:50:00 ID:U6bB5JnZ]
- 前スレにあったのが、
敵 ├亀 │├緑亀 │└赤亀 └ブロス ├ハンマー └ブーメラン みたいな感じの構造だった。 敵、亀、ブロスはゲーム内では使わないダミーで子オブジェクトを纏めるためのもの。 共通の物は親オブジェクトに持たせて、 子オブジェクト別に違うものは子オブジェクト内で個別に設定する。 不便に感じるのは構造のデザインがよくないからじゃないかな? 親と子の使い分けをはっきりさせるといいよ。
- 452 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 01:33:38 ID:u1Abds+1]
- 基本的にparent objectはゲーム内では登場させないなー
- 453 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 13:49:05 ID:qHL8GpNO]
- ttp://www.freegameclassic.com
コンテストに出そう。 小さくまとまってしまってはいけない。 3分で世界を革命しろ。
- 454 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 17:21:46 ID:fJ33Az8T]
- くだらない質問で申し訳ないが
change instance (赤パックマン)をGMLでやろうとするとどう書くんだろう? ちなみに自分は未レジストGM7です
- 455 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 20:54:18 ID:IQUjtfJL]
- 赤パックマンのアイコンはインスタンスの変更じゃなくて、スプライトの変更だと思うよ。
スプライトの変更は、そういう関数があるわけではなく、sprite_index を直接変更する。 変数をいじるだけでも結構いろいろ出来ることがあるから、調べてみるといいよ。
- 456 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 15:47:28 ID:p8OhbyR+]
- 横の壁とぶつかった時だけhspeedを0にしたいのですが
壁とのコリジョンイベントで if place_meeting(x-1,y,block) == true{hspeed = 0;} これではダメなのでしょうか? while (place_meeting(x-1,y,block) == true){x +=1} で反対側への押し戻しはできているのですが、なぜかhspeedだけは0になりません。
- 457 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 17:07:03 ID:5U/WE5aW]
- 先に while の方が実行されるように書いてあると予想
- 458 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 17:53:38 ID:p8OhbyR+]
- それはないですねぇ
while (place_meeting(x-1,y,block) == true) { hspeed = 0; x +=1; } ためしに↑のようにしてみましたけど、それでもダメでした
- 459 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 20:04:46 ID:5U/WE5aW]
- それなら他の場所で速度関係をいじっているんじゃないかい
その式でxの代入だけが実行されるというのはありえない
- 460 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 20:52:41 ID:Wb+bZ9wM]
- 壁がsolidだった場合、collisionイベント実行前に前の位置に戻されるから
abs(hspeed)>1 だったら、壁と自分との間は1以上空いていることになる。 だからplace_meeting(x-1)ではヒットしないと予想。 place_meeting(x+/-hspeed)にしてみたらどうよ? whileの押し戻しもたぶん成功してないと思うな(単にxpreviousに戻されてるだけ) 厳密にやるなら x = other.bbox_right + 1 + sprite_xoffset とかの方が良さそう
- 461 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 20:59:07 ID:Wb+bZ9wM]
- よく考えたら place_meeting(x-abs(hspeed)-1) とかにしないとダメだな
ついでに補足。仮にblockって名前のスプライトとかスクリプトがあった場合 そっちのインデックスが使われて、違うオブジェクトをチェックしてる可能性もある。 GML使うんだったら、obj_block とか spr_block みたいにして 名前がかぶらないように設定しないとトラブルの元になるよ。
- 462 名前:名前は開発中のものです。 mailto:sage [2009/10/04(日) 21:18:26 ID:p8OhbyR+]
- >>460さんの通りにしたら解決しました。ありがとうございます。
「プレイヤーだけが通れない壁」と「全キャラ共通の壁」というのを考えていたのですが プレイヤーだけが通れない壁はsolidをはずして、普通の壁はx-abs(hspeed)にすることで解決しました。
- 463 名前:名前は開発中のものです。 mailto:sage [2009/10/08(木) 19:54:56 ID:XLYZZ1sh]
- image_blendのように「色を混ぜる」のではなく、なにか一色で「塗りつぶす」ことは出来ないのでしょうか?
敵がダメージを受けた時、一時的に赤くさせたいのですが、元が黒っぽい色のため 赤を混ぜても黒にしかなりません。
- 464 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 00:27:24 ID:2lodFe32]
- 真赤にぬったスプライトを別に用意するしかないんじゃない?
- 465 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 02:01:41 ID:m1aFnmHw]
- ステージエディット機能を持ったSTGをつくろうとしているんですが、
ステージを配列で表現してexecute_fileでステージ開始時に読み込んで、 敵を記述したタイミングで生成させたいのですが、 適切なコードがうまく思いつきません。 配列以外で何とかする?処理方法でなんとかなる? 全部走査して現タイムラインと発生タイミングが一致すれば生成 -------------------------------------------------------------- for(敵番号=0;敵番号<敵数;敵番号++){ if(stage[敵番号,敵発生タイミング]==timeline){ create(stage[敵番号,敵各種ステータス]); } } timeline++ -------------------------------------------------------------- →1ステージにおける敵数が増えると1ステップ内でどんどん処理が重くなる 指定したグリッド番号になったら生成 -------------------------------------------------------------- create(stage[グリッド番号,敵各種ステータス]); グリッド番号++ -------------------------------------------------------------- →ステージが長くなるとどんどん配列が増える&発生しない間の配列は無駄領域 →1グリッド1体しか出ない 現在は全部走査して現タイムラインと発生タイミングが一致すれば生成という方法で 行っていますが、敵の数が300をこえたあたりからゲーム速度が落ち始めます (step内でforループしているので当然といえば当然ですが)
- 466 名前:名前は開発中のものです。 mailto:sage [2009/10/09(金) 02:08:26 ID:v0opj/4E]
- >>465
そもそも画面外の敵まで処理するのが無駄なわけで。 最初に全インスタンスを作成し、 画面外のインスタンスを非アクティブに、 画面内のインスタンスをアクティブにする。 領域の微調整はお好みで。
- 467 名前:465 mailto:sage [2009/10/09(金) 02:13:21 ID:m1aFnmHw]
- あぁ・・・なるほど、確かに言われてみれば
いちいちリアルタイムに生成する理由がなかった・・ 回答ありがとうございました。 製作頑張ろうと思います。
- 468 名前:名前は開発中のものです。 mailto:sage [2009/10/10(土) 16:56:18 ID:+ewObIUy]
- >>464
やっぱりそれしかないですか ちょっと画像枚数が多いので、全部にそれをやるのはちょっと厳しい…… これは諦めざるを得ませんかね
|

|