devlog [naru design]

プログラミングやテクニカルな内容の覚え書き。

Unity3D:ゲーム制作-無限インベーダ(1/4)の続きです

ミサイルの作成

上矢印キーを押した際に発射されるミサイルを作成します。

前回作成した砲台(Battery)をHierarchyからAssetsへドラッグ・アンド・ドロップしてプレハブにしておきます。

batteryPrefab

プレハブを作成したらHierarchyからBatteryを削除します。

メニューGameObject-CreateOther-Cubeを選択して、HierarchyにCubeを追加します。

missile

TransformのPositionは(0, 0, 0)、Rotationは(0, 0, 0)、Scaleは(0.5, 1, 1)に設定します。
Cubeの名前をMissileに変更します。

ミサイルのスクリプト作成

ミサイルが画面の上へ移動するスクリプトを作成します。

AssetsにC#スクリプトを追加して、名前をMissileに設定します。

6行目:ミサイルの1秒間あたりの移動量を設定します。
7行目:ミサイルが画面から消えたことを判断するY座標を設定します。
11-20行目:現在の位置に移動量を加えます。リミットを超えた場合はオブジェクト自身を削除します。

作成したスクリプト(Missile.cs)をHierarchyのMissileへ追加します。

シーンを再生するとミサイルが画面の上へ移動します。画面の外へ移動するとHierarchyから消えることも確認します。

ミサイル(Missile)をHierarchyからAssetsへドラッグ・アンド・ドロップしてプレハブにします。

missilePrefab

プレハブを作成したらHierarchyからMissileを削除します。

インベーダの作成

インベーダもUnityに用意されているCubeとEmpty(GameObject)で作成します。

invader

※前回(Unity3D:ゲーム制作-無限インベーダ(1/3))の砲台の作成を参考に作ってみてください。

インベーダの衝突判定領域設定

現状では、Invaderを構成しているCube全てにBoxColliderが設定されています。

cubeCollider

これらを削除して、Invaderを包括するBoxColliderを設定します。

HierarchyでInvaderを選択します。
メニューComponent-Physics-BoxColliderを選択して、BoxColliderのSizeを(5, 4, 1)に設定します。

invaderCollider

インベーダを包括するコライダーが設定出来ました。

インベーダ用のスクリプト作成

インベーダに3回ミサイルが当たると消えるスクリプトを作成します。

AssetにC#スクリプトを追加して、名前をInvaderに設定します。

6行目:インベーダのライフカウンターを用意します。
10行目:衝突判定をONにします。
11行目:インベーダの初期ライフを3に設定します。
14-21行目:衝突が発生したらライフカウンタをデクリメントして1未満になったらインベーダを消す。

作成したスクリプト(Invader.cs)をHierarchyのInvaderへ追加します。

HierarchyのInvaderをAssetsへドラッグ・アンド・ドロップしてプレハブにします。

invaderPrefab

プレハブを作成したらHierarchyからInvaderを削除します。

Unity3D:ゲーム制作-無限インベーダ(3/4)へ続きます

Pocket

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Trackback URL: