在 C# 中尝试让平台在触摸平台 5 秒后掉落

问题描述 投票:0回答:1

我试图在我的玩家在平台上行走一定时间后激活坠落动画。我正在尝试使用 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);

            
        }
    }
c# animation triggers wait
1个回答
0
投票

我只会使用带时间延迟的标准 Invoke 函数。

private void OnTriggerEnter(Collider other)
{
    if (other.CompareTag("Player")
    {
        Invoke(nameof(ActivateFall), 5.0f);
    }
}
private void ActivateFall() {
  myAnimationController.SetBool("FallWhenTouched", true);
}
© www.soinside.com 2019 - 2024. All rights reserved.