【2D】ゲーム作成ツールGameMaker part3【マンセー】at GAMEDEV【2D】ゲーム作成ツールGameMaker part3【マンセー】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト372:名前は開発中のものです。 08/11/06 01:04:58 eaSEHczR キャラクター「A」と「B」が横一面で左に向かって競争していて、 「AがBを追い抜いたとき」と「BがAを追い抜いたとき」で別々に音を流したいのですがどうすればいいのでしょう。 上とは同じ内容で違う質問なんですが 試しにA.xがB.xの値の-1になった時~などという風にIf a variabels has a valueでやってみましたができませんでした。 これではだめなのでしょうか? 373:名前は開発中のものです。 08/11/06 07:42:34 LwQsPuS+ >>372 単純に Aのx座標 < Bのx座標の時は音楽Bを流す、 Aのx座標 > Bのx座標の時は音楽Aを流す。 で良いんじゃないかな? 374:名前は開発中のものです。 08/11/06 09:00:15 5MtmmVSK 追い抜いたときってのを調べるには、1ステップ前の状態を記録しといた方がいいんじゃない? 例えば、 Stepに difference = Aのx座標 - Bのx座標; を入れて、 Stepの最後の行かEnd Stepに prev_difference = difference; を入れる。 そしてStep内で、 prev_differenceとdifferenceをチェックする。 prev_difference(1フレーム前の差)とdifference(今現在の差)を見たとき、 マイナスからプラスになったり、プラスからマイナスになったりしたときが、 どちらかが追い抜いたとき、となる。どっちがどっちかはすぐわかるはず。 ちなみに2つ目の質問に答えると、ゲームに限らず、プログラムはそこに書かれているとおりに動く。 どういうことかというと、A.xがB.x-1になったときに音を再生する、 つまり、それが例え追い抜いたとしても後ろから近づいただけだとしても、座標軸でBがAの左にちょうど1離れたところにいる瞬間に音を鳴らす、という判定がかなりシビアな表現になる。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch