忍者ブログ
Admin*Write*Comment
35歳からのC言語ゲームプログラミング
[89]  [88]  [87]  [86]  [85]  [84]  [83]  [82]  [81]  [80]  [79
×

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

敵弾と背景の当たり判定を実装

背景との当たり判定復活に伴って、敵弾と背景にも当たり判定を加えました。
これで敵弾が壁を突き抜けて自機を攻撃してくる事は無くなります。
これで当たり判定については現在必要なオブジェクト全てに実装されたことになります。
今後だいぶ先にパワーアップアイテム等を実装するまではこのまま行けるんじゃないかと。

あと、画面内限定で背景との当たり判定を行う事を考えていたんだけども、よく考えてみると四角形の接触判定は4組の数字の大きさを比較するだけで得られる極めて軽い処理で、これらの座標が画面内かどうかを判断する処理を付け加えるのは当たり判定そのものとたいして変らない条件分岐を増やすようなもん(X方向において画面と言う四角形と背景各ブロックの接触判定をするような感じ)なので、処理速度上はあんまり効果が無いんじゃないかと。
背景が相当大きな画像で、沢山のブロックに分けなきゃならないほど複雑な地形だった場合はまた別でしょうけど。
んなわけで、とりあえず今の処理のまま行けるとこまで行くつもりです。

で、今までは各キャラクターと背景の当たり判定を行う関数ごとに、当たり判定の処理を入れていたんだけど、その処理部分を当たっていればTRUEを返す専用の関数にして、判定したい対象オブジェクトのX0、Y0、X1、Y1の座標を渡せば結果が得られるようにしました。

90fbda76.PNG


















文章だとわかりにくいですが、ソースだとつまりこういう事です。
この形の方が後から判定したい対象(フォースと背景とか)が増えたりした場合に追加が楽になります。
判定対象のX0、Y0、X1、Y1を定義した上で、BG_Coll関数に渡すだけで判定結果がTRUEかFALSEで返ってきます。
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]