Unity事例ノート

UNITY

クリックでミサイルを発射-2Dシューティング

2Dのシューティングゲームを想定して、キーによるプレーヤー操作と、左クリックでのミサイル発射をつくってみましょう。

[W][A][S][D]の各キーでプレーヤーを操作。

クリックするとミサイルを発射します。

ミサイルオブジェクトの準備

まずは、前回記事:2Dゲームで画面端から外へ移動させないを参照して、プレーヤーの部分を制作してください。

2Dゲームで画面端から外へ移動させない
https://futabazemi.net/notes/unity-mathf/

今回は速度を5に設定しました。

プレイしてみましょう。

Input.GetAxisでは、[W][A][S][D]の各キー、または十字キーで操作可能です。

ミサイルのPrefabデータを作成しましょう。

今回も、ギャラクシア2Dスペースシュータースプライトパック#1 のフリーアセットを使用しています。

Effectsフォルダの中から好みのミサイルを選択し、ヒエラルキーにドラッグ&ドロップします。

Assetsの中にPrefabフォルダを作成し、ミサイルをドラッグ&ドロップしてプレハブ化します。

ミサイルの元データは削除しておきます。

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

続いて、ミサイルを生成する仕組みをつくりましょう。

プレーヤーに追加しているPlayerMove.csを開き、コードを追加します。

新たに追加した箇所にはコメント(//)を入れています。

Laserのフィールドには、ミサイルのPrefabデータを入れておきます。

ゲームプレイして確認しましょう。

クリックすると、プレーヤー本体の場所にミサイルが生成されます。

ミサイルを移動させる

ミサイルのPrefabに、スクリプトを作成しましょう。

コンポーネントを追加 > 新しいスクリプト > LaserMove > 作成して追加

LaserMove.csを書きましょう。

LaserSpeedのフィールドには、ミサイルの速度を入力してください。

ゲームプレイしてみましょう。

十字キー、または[W][A][S][D]のキーでプレーヤー操作。

クリックでレーザーミサイルを発射します。