unityでランダムでキャラクターを表示していくものなのですが、画面内に同じキャラクターが表示されてしまうのでされないようにしたいです。
キャラクターは一定時間でCloneされ一定時間でdestroyするようになっています。
プログラムは以下のようになっています。
using UnityEngine;
using System.Collections;
public class CustomerInStore : MonoBehaviour {
public GameObject [] characters = new GameObject[10]; float nextSpawnTime = 0; [SerializeField] float interval = 5.0f; [SerializeField] public bool isCanComeCustomer = false; //キャラクターの種類の最大数 const int CHARACTER_NUM_MAX = 7; void LocalInstantate( ) { //キャラをランダムで指定の位置にClone int rand = Random.Range( 0, CHARACTER_NUM_MAX ); for (int i = 0; i < CHARACTER_NUM_MAX; i++) { if (rand == i) { GameObject obj = (GameObject)GameObject.Instantiate (characters[ i ]); obj.transform.parent = transform; obj.transform.localPosition = new Vector3 (-3.35f, -1.44f, 0); } } } // Use this for initialization void Start () { } // Update is called once per frame void Update () { //キャラクターの生成までの時間 if (nextSpawnTime < Time.timeSinceLevelLoad && isCanComeCustomer == true) { nextSpawnTime = Time.timeSinceLevelLoad + interval; LocalInstantate (); } }
}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。