スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

当たり判定作成

ScreenShot_2014_0602_20_47_31.png
今日は射撃システムの当たり判定を作っていました。
ただここでまたトレはん!とは仕様が違うため一つの問題が発生しました。
銃弾である都合上、弾が速すぎるんです。
一応弾が目で追える程度の速度ではあるんですが、それでも1フレーム間の移動距離が長くなってしまうと問題が発生します。
それは1フレームに1回しか当たり判定を実行しないため、1フレームの間に敵を通り抜けてしまうと命中せずにすり抜けてしまう可能性が発生してしまうのです。
1フレームでの移動距離が20ピクセルを超えれば、キャラチップ横幅より広い範囲で空白地帯が生まれてしまうことになります。
これは非常に都合が悪い。
そこでとりあえず1フレーム間に2度当たり判定を行うことで問題を解決してみました。
弾速が20ピクセル/フレームなら、1フレームに10ピクセルの移動と当たり判定を二度行えばいいという分けです。
処理は重くなってしまいますが、とりあえずこれでちゃんと当たってくれる『はず』でした。

それから何度繰り返してもたまにしか当たらない。
おかしいと思い計算式を変えて何度も試したのですが、全く成果が上がらず。
それで諦めかけた時、おかしな表記に気が付きました。
距離X座標 = 弾丸X座標
距離Y座標 = 弾丸Y座標
距離X座標 -= 敵Y座標
距離Y座標 -= 敵Y座標
二点距離 = 距離X座標 * 距離X座標
二点距離 += 距離Y座標 * 距離Y座標
分かる人は分かると思いますが、2点間の距離を求める計算式の一部です。
明らかに3行目の部分が間違ってます・・・
そりゃあ座標軸を間違えていれば、正常に当たり判定が機能してくれるわけありませんよね・・・
こんな些細なミスに気が付くのに、結局一時間くらいかかりました。
いつも通りの事とはいえ、凹みました。

とりあえずそこからは順調に制作成功。
銃弾が敵に命中する処理、攻撃判定から死亡判定まで一通り動きました。
まだ先は長いですが、とりあえずベースができて一安心といった所です。
次はもっと細かいところを詰めていきたいと思います。
スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。