カタツムリ2007年09月30日

オブジェクト同士の当たり判定(その3)

さあ、どうでしょうか?

私は、移動後をシミレートして、当たり判定を行なってみました。

結果は、まず実行してみて下さい。

プログラムの修正は、大きく2箇所です。

まず、構造体のメンバーに、p_pos_x,p_pos_y を追加しました。

ここに、ひとつ先の座標を計算して保存します。

Private Sub my_pre_move(ByRef data As Type_Data)
data.p_pos_x = data.pos_x + data.speed_x
data.p_pos_y = data.pos_y + data.speed_y
End Sub

つぎに、my_pos_hits の関数内で、

pos_x を、p_pos_x に、pos_y を、p_pos_y に、

変更後は、下記のようになります。

If (data.p_pos_x = other.p_pos_x) And (data.p_pos_y = other.p_pos_y) Then

これで、ひとつ先の座標と比較しております。

さて、プログラムをここから、ダウンロードしたら実行して見て下さい。

下の方は、うまく行ってますが、上の方は、バグってしまいました。

前回と逆の結果です。なかなかうまく行きませんね。

実は、この現象もゲーム開発において多く見られます。

目の前のバグが直ったと思ったら、別の箇所がバグってしまうこと。

さて皆さんは、どんなプログラムになりましたか、

明日も引き続き、この問題に挑戦してみたいと思います。

みなさんも、両方うまく動くように挑戦してみて下さい。

200709302010000.jpg

いつも通っている銭湯が、今日で営業終了になりました。

木村湯は、昭和から始まり、70年余りの歴史があります。

ほんと残念で仕方ありません。私の癒しのひとつでしたから。


ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓

にほんブログ村 経営ブログへランキングUP!

ランキングUP!

banner2.gif 人気blogランキング!

投稿者 shiozumi : 21:46 | トラックバック (0)

このエントリーのトラックバックURL

http://blog.e-smile.ne.jp/cgi-bin/mt/mt-tb.cgi/72