Shooting Game チュートリアル 第05回
すすめていきます。
みんなだいすき当たり判定!
5.1 プレイヤーに当たり判定を付ける
なんか小さい仮面ライダーみたいなのを想像してたよ。
BoxColliderを選択。大きさは注意書きにそって、0.05に設定してみる。
5.2 エネミーに当たり判定を付ける
EditColliderを押して編集。
5.3 弾に当たり判定を付ける
これも上と同様に。
プレハブをシーンビューに持っていって、直して、Apply。
5.4 スクリプトから当たり判定を検出する
「OnTriggerEnter2D」「OnTriggerStay2D」「OnTriggerExit2D」
それぞれどう違うの?
とりあえずSpaceship.csは問題なし。
…あれ?ぶつかってないのに爆発したよ?
そのまますすめてみる。
5.5 爆発の制御
5.6 爆発した後のゲームオブジェクト削除
アニメーションのなかでタイミングを指定するかんじ。
5.7 弾とエネミーが削除されるエリアを作る
OnTriggerExit2D…「そのエリアから出たら」。
ちょっと疲れてきたので休憩。
つぎ、レイヤーで当たり判定の制御。
あれ、さっき設定したSortingLayeresと何が違うのだろう?
Sorthingは2D描画の順番だった。下に行くほど表(こちら)に近い。PhotoShopとかと逆なイメージ。
Layerは表示は関係なさそう。
Layerは、主にRendering設定のグループ分けに使う。
らしい。(TagとLayer - Unityな日々(Unity Geek))
今回は、それぞれの当たり判定の条件を設定。
うんうん、問題なく進んでいきます。
と思ったら、当たり判定が上手くいっていない。
EnemyBulletにあたっても爆発しない。
おかしい!!
と思ったら、Layer名のスペルミスでした。
順調すぎー。
5.8 PlayerBulletゲームオブジェクトの削除
あれ、「◎秒後」が出てきた!
Destroy (gameObject, lifetime);
lifetime秒はfloatで。これ、覚えておこう。
ふぅー。
以前挫折したところよりだいぶ進んでる気がする。
続きます。