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
これで、ひとつ先の座標と比較しております。
さて、プログラムをここから、ダウンロードしたら実行して見て下さい。
下の方は、うまく行ってますが、上の方は、バグってしまいました。
前回と逆の結果です。なかなかうまく行きませんね。
実は、この現象もゲーム開発において多く見られます。
目の前のバグが直ったと思ったら、別の箇所がバグってしまうこと。
さて皆さんは、どんなプログラムになりましたか、
明日も引き続き、この問題に挑戦してみたいと思います。
みなさんも、両方うまく動くように挑戦してみて下さい。
いつも通っている銭湯が、今日で営業終了になりました。
木村湯は、昭和から始まり、70年余りの歴史があります。
ほんと残念で仕方ありません。私の癒しのひとつでしたから。
ツイッターはじめました~フォロー待ってま~す!!
↓↓↓下記の3つのバナーをクリックして下さい。ランキングUPにご協力をお願いします。↓↓↓
投稿者 shiozumi : 21:46 | トラックバック (0)