オブジェクトがある場所まで落ちれば、削除される仕組みをつくりましょう。
Sphereのプレハブを1秒おきに生成。
指定した座標まで落下すると、オブジェクトが消えます。
関連記事:
落下スピードをランダムにする
1秒おきに座標をランダムにして落下
範囲内に入ればオブジェクトを落下させる
マウスカーソルについてくるオブジェクトを落下
抵抗(Drag)にアクセスして落下スピードを抑える
倒れると削除
Sphereのプレハブを作成
Sphereを作成し、リジッドボディを追加します。
BallDelete.csを作成し、Sphereに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallDelete : MonoBehaviour { void Update() { if(this.transform.position.y < -3) { Destroy(gameObject); } } } |
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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class BallDrop : MonoBehaviour { public GameObject ball; private float count = 1.0f; void Update() { count -= Time.deltaTime; if(count <= 0) { Instantiate(ball,new Vector3(0, 5, 0),Quaternion.identity); count = 1.0f; } } } |
Ballのフィールドに、Sphereのプレハブを入れます。
ゲームプレイしてみましょう。
1秒おきにプレハブが生成され、Y座標-3まで落下したところで削除されます。
関連記事:
落下スピードをランダムにする
1秒おきに座標をランダムにして落下
範囲内に入ればオブジェクトを落下させる
マウスカーソルについてくるオブジェクトを落下
抵抗(Drag)にアクセスして落下スピードを抑える
倒れると削除