Instantiateを使ってクローンを生成する際に、オブジェクトの角度を変えられるようにしましょう。
今回の例では、クリックするとCubeが出現。
オブジェクトが出現するたびに45度ずつ角度が変わります。
関連記事:
プレハブ出現のたびに角度をランダムで変化
弾幕のように全方向へ発射するしくみ
全方位に向けてランダム発射
n秒おきに回転しながら前方へ発射
Prefabの座標をランダムにして生成
複数ポイントからランダムでPrefab生成
3つのポジションから順番にPrefab生成
クリックしたところにPrefabを生成する
一度に複数のオブジェクトを発射
クローン生成のたびに角度を変更
Cubeを作成します。
CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { void Update() { transform.Translate(new Vector3(0, 0, 10 * Time.deltaTime)); } } |
Cubeをプロジェクトビューにドラッグ&ドロップして、Prefab化します。
Cubeの元データは削除しておきます。
空のオブジェクトを作成します。
CubeManager.csを作成して、GameObject(空のオブジェクト)に追加します。
CubeManager.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeManager : MonoBehaviour { [SerializeField] GameObject cube; private int angle = 0; void Update() { if(Input.GetMouseButtonDown(0)) { angle += 45; Instantiate(cube, this.transform.position, Quaternion.Euler(0, angle, 0)); } } } |
キューブのフィールドに、Cubeのプレハブを入れます。
ゲームプレイして、クリックしてみましょう。
Cubeが45°ずつ角度を変えて生成されます。
関連記事:
プレハブ出現のたびに角度をランダムで変化
弾幕のように全方向へ発射するしくみ
全方位に向けてランダム発射
n秒おきに回転しながら前方へ発射
Prefabの座標をランダムにして生成
複数ポイントからランダムでPrefab生成
3つのポジションから順番にPrefab生成
クリックしたところにPrefabを生成する
一度に複数のオブジェクトを発射