当たり判定実装

動いてないとわかりずらいんですが、波動砲が敵機に当たって爆発した瞬間のスクリーンショットです。
もちろん自機と敵機にも当たり判定をつけました。
もっとも一般的な円と円の当たり判定です。
自機、敵機、波動砲にそれぞれ絵の中心から当たり判定の範囲にしたい円の半径を設定します。
あとは中心点の座標同士の距離を調べて、互いの半径を足した値より小さければ当たったとみなします。
三平方の定理を使って点と点の距離を算出する方法です。
平方根の処理は重いようなので、両辺を2乗した形で大きさを比較します。
例えば、自機の中心座標と半径を(X0,Y0,r0)、同じく敵機を(X1,Y1,r1)とすると、
(X0-X1)^2 + (Y0-Y1)^2 <= ( r0+r1 )^2
この条件を満たせば両者は接触しているとみなせます。
せっかく当たり判定をつけたんで、敵機が爆発するアニメーションも頑張って実装しました。
では実行ファイルを。
ソーステキストも同梱です。
操作やダウンロードについては前回の記事を参照してください。
自機と敵機が接触した場合も終了です。
終了後はキー入力待ちになるので、何かキーを押して完全に終了させてください。
http://multip.net/view/oRzzwkfefZ
かなりシューティングゲームになってきましたね。
理論は理解していても、当たり判定がちゃんと想定通りに働くと嬉しいもんです。
思わず、ニヤけちゃいました(笑)
動いてないとわかりずらいんですが、波動砲が敵機に当たって爆発した瞬間のスクリーンショットです。
もちろん自機と敵機にも当たり判定をつけました。
もっとも一般的な円と円の当たり判定です。
自機、敵機、波動砲にそれぞれ絵の中心から当たり判定の範囲にしたい円の半径を設定します。
あとは中心点の座標同士の距離を調べて、互いの半径を足した値より小さければ当たったとみなします。
三平方の定理を使って点と点の距離を算出する方法です。
平方根の処理は重いようなので、両辺を2乗した形で大きさを比較します。
例えば、自機の中心座標と半径を(X0,Y0,r0)、同じく敵機を(X1,Y1,r1)とすると、
(X0-X1)^2 + (Y0-Y1)^2 <= ( r0+r1 )^2
この条件を満たせば両者は接触しているとみなせます。
せっかく当たり判定をつけたんで、敵機が爆発するアニメーションも頑張って実装しました。
では実行ファイルを。
ソーステキストも同梱です。
操作やダウンロードについては前回の記事を参照してください。
自機と敵機が接触した場合も終了です。
終了後はキー入力待ちになるので、何かキーを押して完全に終了させてください。
http://multip.net/view/oRzzwkfefZ
かなりシューティングゲームになってきましたね。
理論は理解していても、当たり判定がちゃんと想定通りに働くと嬉しいもんです。
思わず、ニヤけちゃいました(笑)
PR
この記事にコメントする
- ABOUT
やってやれないことはないっ!たぶん・・・
- カレンダー
04 | 2025/05 | 06 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 最新コメント
[11/09 CALL MY NAME]
[11/09 erin]
[08/18 うずランド]
[07/11 うずランド]
[06/23 うずランド]
- プロフィール
HN:
Call my name
年齢:
50
性別:
男性
誕生日:
1974/05/22
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
はい。
- ブログ内検索
- カウンター
- アクセス解析