ゲームライブラリ構築までの道「インベーダー編」#12 : 敵機のトーチカ・コリジョン判定

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

こんにちわ。
 

仕事中に、AmazonPrimeVideoを垂れ流して見ていると、アメリカドラマの進行がすこぶる調子がいいと感じる、下駄です。
 

レンタルビデオで、ちまちま借りていたドラマ系のビデオを思い出すと、ネット系で見られるメリットは、計り知れませんね。
 

そう言えば、しばらく近所のレンタルビデオには行ってないし、借りてもいないんだけど、まさか店舗が潰れているなんてことはないだろうな・・・
 

そんなレンタルビデオは、デブレーションの影響を受けやすく、1本100円のレンタルが当たり前になっていたため、倒産するレンタルビデオ屋も少なくないという事は数年前から聞いていたが、
 

中古ゲーム販売や、中古漫画などのレンタルをやっている系列店舗などは、比較的ビデオ屋といいつつ、売上比率は、ゲームが主力商品になっている可能性も高いですね。
 

ゲームはいつの時代も強いですね。

本日のIT謎掛け

「レンタルビデオ」と、かけまして、
 

「配送手段の乏しい離島への宅配便」と、ときます。
 

そのココロは・・・
 

おくれる(遅れる、送れる)と高くつきます。

ソースコード

not canvas

解説

今回は、インベーダーの攻撃用のミサイルがトーチカに当たったときのコリジョン処理を付けてみました。
 

youtubeにアップされている、スペースインベーダーのビデオを参考に、してみましたが、トーチカの崩し方は、ブロック範囲を大きめに破壊しているようでした。
 

とりあえず、汎用性も考えて、自機の攻撃では、1ドット崩すのみですが、敵機のミサイルが当たった時は、3×3のブロックで、乱雑的に崩すようにしてみたので、トーチカが崩れ去るスピードは、本家よりも遅くしてあります。
 

技術的には、ビット演算を使って、指定のドットを除外する方法にしているので、崩すブロックの形は、後で変更することも可能な状態にしています。
 

さらに、敵機のミサイルは、正方形のドット絵で書かれていますが、実際の見た目は縦長なので、ドット全体の当たり判定をすると、ギリギリ触っていない状態でも、当たっていることになり、少し納得がいかない感じになるので、上下左右の空白部分をマージンとして保持して、それを反映する仕様もいれてみました。
&nbspl

なので、トーチカをギリギリにすり抜けていくミサイルを見ることもできますよ。
 

そして、ついに次回で、自機当たり判定を入れるので、自機が死にます・・・

Github

ソースは以下にアップしています。(ver:0.11)
 

https://github.com/yugeta/game_invader

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です