【发布时间】:2019-11-10 21:22:55
【问题描述】:
我想制作可以在一段时间内消失的游戏对象。我写了这段代码,但它根本不起作用。
这是我的代码:
public class Fire : MonoBehaviour
{
[SerializeField] int decreaseHealth;
[SerializeField] GameObject handlerObject;
GameHandler handler;
void Start()
{
decreaseHealth = 10;
handler = handlerObject.GetComponent<GameHandler>();
}
void OnTriggerEnter2D(Collider2D col)
{
if (col.gameObject.tag == "Player")
{
StartCoroutine(ShowAndHide(this.gameObject, 2.0f)); // 2 second
// Decrease Health
handler.decreaseHealth(decreaseHealth);
}
}
IEnumerator ShowAndHide(GameObject go, float delay)
{
go.SetActive(true);
yield return new WaitForSeconds(delay);
go.SetActive(false);
}
}
有人可以帮我弄清楚吗?
【问题讨论】: