Just another m1starグループ site

休学から始めるプログラミング

google ページ単位広告


google トラッキング



google ad ヘッダー




google ad 投稿記事




Unity

Unityチュートリアル2Dシューティング6

更新日:


top_thumb_intro
三星です。
前回の続きです。

Wave型の仕組み作り


今回のチュートリアルはWave型のシューティングゲームです

空のGameObjectを作成し、名前をWaveとしてください。

いつもの方法ですね。
3つのEnemyを子要素とします。

最後にプレハブにします。

ゲームの進行に伴って何度も出てくるようにするためにはプレハブ化は必須ですね。

Waveを呼び出すEmitter (エミッター)を作成する

// Waveプレハブを格納する
public GameObject[] waves;

public を宣言しています。
これでWaveプレハブをインスペクターから割り当てることが出来ますね。

waves.Length == 0

length は要素数を取得します。
格納されるべきWaveが格納されていない、という状況を表しています。たぶん。

yield break;

コルーチンを終了させます。
ということで、Emitter.csはコルーチン型のstart()しかないのでこの関数は終了します。

// Waveを作成する
GameObject wave = (GameObject)Instantiate (waves [currentWave], transform.position, Quaternion.identity);

Waveの作成。
instantiateでプレハブをクローンします。

元となるプレハブオブジェクトは public GameObject[] waves;で宣言した waves 。
それを currentWave という名前で生成します。
後に続く引数は位置と回転です。

// Waveの子要素のEnemyが全て削除されるまで待機する
while (wave.transform.childCount != 0) {
yield return new WaitForEndOfFrame ();
}

Emitterはこの間動きません。
これもコルーチンだから出来ることです。

Emitter (エミッター)

発生させるもの、というような意味。
元々はパーティクルの発生器などをそう呼んでいたらしい。
ここではもちろんそうじゃなくWaveの発生器。


google ad 広告用スペース




google ad 広告用スペース




google ad 投稿記事




-Unity

Copyright© 休学から始めるプログラミング , 2019 All Rights Reserved Powered by STINGER.