Unity 応用問題編「Block Game」-ブロックをたくさん作る-

本章は、応用問題編となってます。
ここでは、前回のブロックを使って、たくさんのブロックを生み出していきます!

ブロックをたくさん作る

1. 次に、「Event System」を追加し、名前を「blockController」とします。

2. また、フォルダ「Scripts」内に新規C#ファイルを作り、名前を「makeBlock」とします。

3. 下記のようなコードを追加します。

コラム

上記では、for ループを二回繰り返すことで、行と列を表現しています。
順序よくブロックを作るために、現在の行目と列目によって、ブロックの位置が変わるようにしています。
また、真ん中でスペースが開くようにするため、2個ずつをひとかたまりとし、jが1より大きくなったら xを意図的に少し離すようにプログラムされています。
「Instantiate」を使って、インスタンス(クローンようなもの)を作成しています。

今回はわかりやすくするため x座標と y座標を同じところで処理していますが、本来はこのコードは美しくありません。
y座標の値が変化するのは、i の値が変化する時なので、for 文の一個上に外した方が、より美しいコードとなります。
今の段階では、「無駄な計算はなるべく排除すべきである。」と漠然と覚えておきましょう。

 
4. 「blockController」にスクリプト「makeBlock」を追加します。そしたら、宣言したパブリック変数にオブジェクトを入れることができます。
ドラッグ&ドロップで、作ったプレファブを変数に入れましょう。

下記のように動作したら完成です!

次回は、Scoreを作成します!
お楽しみに♪