检查播放器是否静止不动超过3秒,然后执行Unity

时间:2019-01-12 15:20:35

标签: c# unity3d

我已经开始使用Unity,并且正在制作我的第一个平台游戏。我想添加一个功能,如果玩家停止(在水平轴上)移动3秒钟,他就会死亡并且游戏将重新开始。

对于第一部分(检查玩家是否在移动),我只是这样做:

if(Mathf.Abs(rb.velocity.x) == 0)
    {
        Example();
    }

我不确定该代码在哪里放置,我需要帮助来实现“等待3秒”部分。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以像这样实现时间部分。 Time.deltaTime为您提供了该特定帧的时间。只要您的播放器不移动,您便会添加到计时器中。

float timePassed = 0.0f;

if(Mathf.Abs(rb.velocity.x) == 0)
{
    Example();
    timePassed += Time.deltaTime;
}
else
    timePassed = 0.0f;

然后,当计时器大于3秒时,您可以杀死播放器。祝你好运!