ゲームライブラリ構築までの道「インベーダー編」#10 : トーチカの当たり判定

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

こんにちわ。
 

AppleWatchでアセモができるので、左右交互の腕に付けている、下駄です。
 

スマホはiPhone、仕事で使うノートブックはMacBook、Applewatch、AirPodPro、iPadPro + ApplePenCil・・・
 

もはや、生活にAppleが欠かせない状態です。
 

ブランドで統一すると、便利な点も多いので、生活が一変しますよね。
 

でも、まあまあ金はかかりますが・・・

本日のIT謎掛け

「AppleWatch」と、かけまして、
 

「総務省が公開している資料」と、ときます。
 

そのココロは・・・
 

便利な、トケイ(時計と統計)です。

ソースコード

not canvas

解説

トーチカは、敵からの攻撃を避ける重要な守りですが、今の所、敵から弾を発射する処理を作っていないので、後回しになっていましたが、自機からの弾発射でも崩れる処理を先に作っておくことで、作業を進めたいと思います。
 

今回のポイントは、トーチカは、画面サイズに応じて設置個数を変更しているんですが、他の表示キャラクタと違っている点は、ドット絵を消していくという作業です。
 

今回は自機なので、弾が当たった箇所のトーチカの下側から、座標を判定して、ドットを消していくという内容にしています。
 

難しかった点としては、canvasで表示してドット感を出すために、1ドット数ピクセルでの表示を、キャラクタの表示サイズに対するドット数の比率で計算しているので、どのドットに衝突しかたの計算も、単純ではありません。
 

bitsizeという、1ドットのサイズを、ドットデータの読み込み時にメモリに保持していたので、この値を使えばできるんですが、キレイな数字が返ってこないので、小数点切り捨てか、四捨五入してあげるといい感じになりました。
 

今回、プログラムサイズが、20kを超えていることに気がついたので(約700行)、共通関数などをライブラリ化した方がいいと感じました。
 

このブログ企画の目的でもある、共通ライブラリを作っていかなければいけませんね。
 

Github

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

https://github.com/yugeta/game_invader

Leave a Reply

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