テトリスの作り方-5です。
前回はminoの動きを制御するスクリプトを書きました。
そして、ステージより外にはminoが移動できないようになっています。
ご存知の通りテトリスは、自動で色々の形のminoが生成されます。
ですので、今回はminoをランダムで自動生成する処理を追加します。
SpawnMinoObjectを作成する
下の画像1の手順で自動生成ようのObjectを作成します。
①空のGameObjectを作成して、SpawnMinoという名前を設定する。
②SpawnMinoのポジションはステージ内の上の方に設定してください。
今回はx=5, y=17にしました。
yが20を超えてしまうと、ValidMovementメソッドの範囲外になるので注意してください。
③SpawnMinoスクリプトを追加で作成してください。
SpawnMinoスクリプトを作成
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnMino : MonoBehaviour { public GameObject[] Minos; // Start is called before the first frame update void Start() { NewMino(); } public void NewMino() { Instantiate(Minos[Random.Range(0, Minos.Length)], transform.position, Quaternion.identity); } }
今回書いたスクリプトを解説します。
public GameObject[] Minos; でMinoの格納場所を定義します。
Instantiateは、Objectを生成する時に使います。
今回だとminoを生成したいのでInstantiateを使っています。
Minos[Random.Range(0, Minos.Length)はMinosの数の分のMinoをランダムで割り当てるためのスクリプトです。
transform.position, Quaternion.identityはMinosを生成するポジションを表しています。
今回は、SpawnMinoObjectと同じ場所で良いので、同じ場所を指定しています。
PrefabをSpawnMinoに割り当てる
下の画像2のように進めます。
①SpawnMinoスクリプトにPrefabのminoを全種類、割り当てます。
②Prefabのminoに前に作成したMinoスクリプトを割り当てます。
※当然ですがMinoスクリプトを割り当てないと動きません
UdemyでUnityを学習する
個人的に、最初のUnityでの開発は動画を見ながら行うことをオススメします。
Udemyには初心者向けから中級者向けなどUnityを教えてくれる教材が揃っていて、割引期間だと数千円で講座を受講できます。
スペシャリストの方の講義が数千円で学べると思うと本当に安いと感心します。
実際に私もいくつかUdemyで課金をして色々学んでいます。
また、Udemyを使ったことがない方も30日返金保証もついているので安心して始めることができます。
まずはお試しで講座を受講してみましょう。
今回のまとめ
今回はテトリスの自動生成されてランダムでMinoが生成されるところまで、作成しました。
あとは、下についた時の判定や一列揃ったら、その列を削除するなどの設定が必要です。
テトリス作成も完成に近づいていますので、頑張りましょう!!!
最後まで読んでいただきありがとうございました。
⭐️あわせて読もう!
→Unityテトリスの作り方-6
コメント