1秒おきに横の位置を変えながら、ボールを落下させるしくみをつくりましょう。
プレハブデータ出現の位置について、X座標をランダムにしています。
関連記事:
ランダムでPrefabの座標を変える
Prefabの座標をランダムにして生成
出現時間をランダム(秒)にする
移動してからn秒ストップをくり返す
向かってくるオブジェクトをクリックで破壊
配列のオブジェクトをn秒おきにすべて出現
落下スピードをランダムにする
指定の座標まで落下すればPrefabを削除
生成するX座標をランダムに
Sphereを作成し、リジッドボディを追加します。
Sphereをブロジェクトビューにドラッグ&ドロップし、プレハブデータに変えます。
Sphereの元データを削除しておきます。
空のオブジェクトを作成します。
DropBall.csを作成し、GameObjectに追加します。
DropBall.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class DropBall : MonoBehaviour { public GameObject ball; private float time; private int vecX; void Start() { time = 1; } void Update() { time -= Time.deltaTime; if(time <= 0.0f) { vecX = Random.Range(-10,10); Instantiate(ball,new Vector3(vecX, 8, 0),Quaternion.identity); time = 1.0f; } } } |
Ballのフィールドに、Sphereのプレハブデータを入れます。
ゲームプレイしてみましょう。
横方向をランダムにして、ボールが落下していきます。
関連記事:
ランダムでPrefabの座標を変える
Prefabの座標をランダムにして生成
出現時間をランダム(秒)にする
移動してからn秒ストップをくり返す
向かってくるオブジェクトをクリックで破壊
配列のオブジェクトをn秒おきにすべて出現
落下スピードをランダムにする
指定の座標まで落下すればPrefabを削除