簡體   English   中英

在Unity中重新生成破壞的對象

[英]Respawn destroyed 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);
}
}

嗨,Ghostdre,您可以在Game Dev SO上更好地回答這個問題,對於您的問題,我建議為GameObject創建一個Enemy類對象和數據成員,以及一個時間變量,該變量確定被毀滅之前敵人應該生存多長時間。

例如

public class SpawnManager
{
    public float lifeTime;

    ...

    void Update()
    {
        lifeTime -= Time.deltaTime

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

請注意,這是一個不完整的示例,但是它應該使您對從這里出發的想法有所了解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM