Unity 5で 2Dシューティングのチュートリアルを行う際の注意点(第07回)
Unity公式チュートリアル 2Dシューティング
第07回 Wave型の仕組み作り
上記チュートリアルで、私がつまずいたところ、初心者がつまずきそうなところをピックアップして解説します。
7.1 Waveの作成
空のGameObjectを作成し、名前をWaveとしてください。Waveの位置は(0,0,0)とします。
メニューから Game Object -> Create Empty を選択します。
Hierarchyの下に GameObjectが生成されるので、それを選択後、F2キーを押して Waveにリネームします。
Waveをクリックし、表示される Inspectorの Transformにある Positionを X 0, Y 0, Z 0 に編集します(最初から0,0,0ならそのままで構いません)。
次に3つのEnemyを子要素として図7.1のように並べます。
現在の状態で、Hierarchyにひとつ、Enemyがあるはずです。
まずは、これを、Waveにドラッグ&ドロップして、Waveの子要素とします。
次に、3つの Enemyを作成します。
ここではとりあえず、現在ある Enemyの Prefabを更新後、2つ複製して3つの Enemyを作ってみます。
まずは、Hierarchyタブ内の Enemyをクリックし、表示された Inspector内の Prefab横の「Apply」ボタンを押して、Prefabを更新します。
次に、Enemyを複製します。
Hierarchyタブ内の Enemyを右クリックし、Duplicateを選択します。
もう一度同じ操作で Duplicateを行います。
生成された Enemy(1)、Enemy(2)を それぞれ Enemyにリネームします。
これで、Wave下に Enemyが3つできました。
最後に、生成した3つのEnemyの位置をそれぞれ編集します。
Enemyをひとつクリックし、表示される Inspectorの Transformにある Positionを(-1,1,0)に設定します。
残りの2つも同様に(0,0,0)(1,1,0)と設定します。
最後にプレハブにして、ゲームオブジェクトの方は削除しましょう。
Hierarchyタブの Waveを、Projectタブの Prefabs配下にドラッグ&ドロップしてプレハブ化します。
Prefabs配下に、Waveが生成されたら成功です。
その後、Hierarchyタブの Waveをクリックし、Deleteキーを押して削除します。
7.2 Waveを呼び出すEmitter (エミッター)を作成する
Waveプレハブをスクリプトから作成します。
まず、Emitter.csをScriptsフォルダの中に作成します。
ProjectタブのScriptsフォルダを右クリックし、Create -> C# Script を選択後、生成されたスクリプトを Emitterにリネームします。
その後、Emitterをダブルクリックし、MonoDevelopで Emitter.csを編集します。
Emitter.csの内容は、チュートリアルのものに丸ごと置き換えて問題ありません。
Ctrl+Sで保存したら、Unity画面に戻りましょう。
ちなみに、emitとは「〈光・熱・香気などを〉放射する」「〈音・声を〉発する」という意味があります(研究社 新英和中辞典より引用)。
Emitter = 敵をはき出すモノ 的な意味だと思います。
次に空のゲームオブジェクトを作成し、名前をEmitterとしてください。ゲームオブジェクトの位置はX 0 Y 3.5 Z 0とします。
メニューから Game Object -> Create Empty を選択します。
Hierarchyの下に GameObjectが生成されるので、それを選択後、F2キーを押して Emitterにリネームします。
生成した Emitterをクリックし、表示される Inspectorの Transformにある Positionを X 0,Y 3.5,Z 0 に編集します。
EmitterゲームオブジェクトにEmitter.csをアタッチし、Waveプレハブを図7.2のように格納します。
Hierarchyタブの Emitterを選択後、Inspector内の「Add Component」をクリックし、Scripts -> Emitter を選択して、Emitter.csをアタッチします。
Inspectorに Emitter(Script)が追加されるので、Wavesをクリックして開き、Sizeに「1」と入力し、Enter
キーを押します。
すると、その下に Element 0という枠が1つ追加されるので、その枠の中に ProjectタブのPrefabs配下にある Waveをドラッグ&ドロップして格納します。
※Wavesは配列変数なので、Sizeを指定すると、その数だけ枠が生成され、値をセットできるようになります。
これで第07回は終了です。
お疲れ様でした。