【2D】ゲーム作成ツー ..
[2ch|▼Menu]
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離れたところにいる瞬間に音を鳴らす、という判定がかなりシビアな表現になる。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5019日前に更新/242 KB
担当:undef