我试图在" x"处重新生成一个物体。然而,当我使用yield和startcourutine时,它会导致我的代码中出现很多错误和错误。而不是破坏我想隐藏对象,并在延迟后重新生成它时再次启用它。如果我有阵列,这怎么可能?
答案 0 :(得分:1)
对于在同一位置直接重生,你可以这样做:
public class CrateCrash : MonoBehaviour
{
...
public void InitRespawn(GameObject toRespawn)
{
StartCoroutine(RespawnObject(toRespawn, 5.0f));
}
private IEnumerator RespawnObject(GameObject toRespawn, float delay)
{
yield return new WaitForSeconds(delay);
toRespawn.SetActive(true);
}
}
另一堂课:
using UnityEngine;
using System.Collections;
public class Crate : MonoBehaviour
{
CrateCrash manager;
public void OnMouseDown()
{
manager.InitRespawn(gameObject);
gameObject.SetActive(true);
}
public void SetManagerReference(CrateCrash managerRef)
{
manager = managerRef;
}
}