忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[69]  [68]  [67]  [66]  [65]  [64]  [63]  [62]  [61]  [60]  [59
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

当たり判定実装

7221297b.JPG


















動いてないとわかりずらいんですが、波動砲が敵機に当たって爆発した瞬間のスクリーンショットです。
もちろん自機と敵機にも当たり判定をつけました。

もっとも一般的な円と円の当たり判定です。
自機、敵機、波動砲にそれぞれ絵の中心から当たり判定の範囲にしたい円の半径を設定します。
あとは中心点の座標同士の距離を調べて、互いの半径を足した値より小さければ当たったとみなします。
三平方の定理を使って点と点の距離を算出する方法です。
平方根の処理は重いようなので、両辺を2乗した形で大きさを比較します。

例えば、自機の中心座標と半径を(X0,Y0,r0)、同じく敵機を(X1,Y1,r1)とすると、
(X0-X1)^2 + (Y0-Y1)^2 <= ( r0+r1 )^2
この条件を満たせば両者は接触しているとみなせます。

せっかく当たり判定をつけたんで、敵機が爆発するアニメーションも頑張って実装しました。
では実行ファイルを。
ソーステキストも同梱です。
操作やダウンロードについては前回の記事を参照してください。
自機と敵機が接触した場合も終了です。
終了後はキー入力待ちになるので、何かキーを押して完全に終了させてください。
http://multip.net/view/oRzzwkfefZ

かなりシューティングゲームになってきましたね。
理論は理解していても、当たり判定がちゃんと想定通りに働くと嬉しいもんです。
思わず、ニヤけちゃいました(笑)


PR
この記事にコメントする
お名前
タイトル
メール
URL
コメント
文字色
パスワード   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
secret
この記事へのトラックバック
この記事にトラックバックする:
  • 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
職業:
スロ屋店員
趣味:
いろいろ
自己紹介:
やる気だけはあるつもりです。
はい。
  • バーコード
  • ブログ内検索
  • カウンター
  • アクセス解析
Copyright © 35歳からのC言語ゲームプログラミング All Rights Reserved.*Powered by NinjaBlog
Graphics By R-C free web graphics*material by 工房たま素材館*Template by Kaie
忍者ブログ [PR]