延迟后统一重生
本文关键字:重生 延迟 | 更新日期: 2023-09-27 17:54:24
我试图在"x"时间重生一个对象,但是当我使用yield和startcourroutine时,它会在我的代码中导致很多错误和错误。而不是销毁,我想隐藏对象,并在延迟后重生时再次启用它。如果我有数组,这怎么可能呢?
对于同一位置的直接重生,您可以这样做:
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;
}
}