我试图在我的玩家在平台上行走一定时间后激活坠落动画。我正在尝试使用 c# 在 Unity 中执行此操作。
我尝试使用协程随着时间的推移执行代码,但它似乎不适用于触发输入方法。我还尝试使用布尔值和计时器变量来查看玩家是否触摸设定的秒数。
IEnumerator OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player")
{
yeild return new WaitForSeconds(5);
myAnimationController.SetBool("FallWhenTouched", true);
Debug.Log("It Worked");
Debug.Log(other.gameObject.name);
}
}
我只会使用带时间延迟的标准 Invoke 函数。
private void OnTriggerEnter(Collider other)
{
if (other.CompareTag("Player")
{
Invoke(nameof(ActivateFall), 5.0f);
}
}
private void ActivateFall() {
myAnimationController.SetBool("FallWhenTouched", true);
}