2014-12-16 3 views
0

У меня есть этот скрипт, где, когда я нажимаю триггер, мой враг появляется в случайное время, а затем враг уничтожает себя в случайное время. Я хочу снова возродить врага, чтобы он мог повторять это снова и снова. Любые предложения:Respawn destroy object in Unity

public class SpawnManager : MonoBehaviour { 

public GameObject Enemy; // the enemy prefab 
public float mytimer; // the time to wait before spawn 
public float transport;// the time it has to destroy itself 

private GameObject _spawndEnemy; // the enemy that was spawnd 

void SpawnEnemy() 
{ 
    var enemySpawnPoint = GameObject.Find("FFEnemySpawn1").transform; 
    _spawndEnemy = Instantiate(
     Enemy, enemySpawnPoint.position, enemySpawnPoint.rotation) as GameObject; 
    transport = Random.Range (2,15); 
} 

void OnTriggerEnter(Collider other) 
{ 
    if (other.gameObject.name == "FFTrigger") { 
     mytimer = Random.Range(0,15); 
     Invoke("SpawnEnemy", mytimer); 
     Debug.Log("Spawn Normal"); 
    } 
} 

void Update() 
{ 
    Destroy (_spawndEnemy, transport); 
} 
} 
+0

Привет, Ghostdre, этот вопрос, вероятно, лучше подходит для сайта SO развития игры, так как для создания множества врагов я создаю класс «Enemy», а затем удерживаю массив или список «Enemy», которые живут для случайное количество времени в вашем классе 'SpawnManager' –

+0

Спасибо Мэтью и я думал о массиве, но я не знаю, как это сделать. Но я спрошу на сайте Game Development. – Ghostdre

+0

@Ghostdre вы пытаетесь сделать прокрутку параллакса вроде игры? – Dinal24

ответ

0

Привет Ghostdre этот вопрос, вероятно, будет лучше здесь ответил Game Dev SO, а на ваш вопрос, я бы рекомендовал создание объекта и данных пользователей Enemy класса для GameObject, а также временную переменную, которая определяет, как долго Враг должен жить до Разрушения.

например.

public class SpawnManager 
{ 
    public float lifeTime; 

    ... 

    void Update() 
    { 
     lifeTime -= Time.deltaTime 

     if (lifeTime <= 0) 
     { 
      Destroy (_spawndEnemy, transport); 
      SpawnEnemy() 
     } 
    } 
} 

Обратите внимание, что это неполный пример.

+0

Итак, массив публичный враг врага = новый список снова повторит врага? – Ghostdre

+0

это зависит от того, как вы хотите, чтобы он функционировал, хотите ли вы, чтобы он мог вызвать нескольких врагов из того же самого икры? или вы хотите, чтобы один икру создавал одного врага в любой момент? –

+0

Только один враг нерестится на одном икроне. Но если враг уничтожит себя, я хочу, чтобы противник снова возродился на икру. – Ghostdre