Unity3d 试图对计时器进行编程,使其在达到5秒时执行某项操作

Unity3d 试图对计时器进行编程,使其在达到5秒时执行某项操作,unity3d,stopwatch,Unity3d,Stopwatch,我似乎不知道该怎么办。我正在创建一个“学会打字”游戏,如果用户在5秒钟内没有正确输入单词,他们将失去一条生命 这可以通过从5开始倒数到0,或者最多5来实现 我试着使用秒表进行c#系统诊断,它适用于所有情况,但我不知道如何在秒表达到5秒时进行检查。这是一个时间对象,您无法将其与整数进行比较。这里有两个选项 您可以使用time.time或time.deltaTime检查更新函数中的时间,也可以使用与新WaitForSeconds(5)对象的协程 它可以简单到: float time; void Up

我似乎不知道该怎么办。我正在创建一个“学会打字”游戏,如果用户在5秒钟内没有正确输入单词,他们将失去一条生命

这可以通过从5开始倒数到0,或者最多5来实现


我试着使用秒表进行c#系统诊断,它适用于所有情况,但我不知道如何在秒表达到5秒时进行检查。这是一个时间对象,您无法将其与整数进行比较。

这里有两个选项

您可以使用time.time或time.deltaTime检查更新函数中的时间,也可以使用与新WaitForSeconds(5)对象的协程

它可以简单到:

float time;
void Update()
{
    time += Time.deltaTime;
    if(time > 5)
    {
        LoseALife();
    }
}
如果每次完成一个单词时都需要重新启动计时器,则可以使用以下传统方法:

public void RestartTimer()
{
    time = 0;
}

这将使计时器在需要时随时返回到0。

这里有两个选项

您可以使用time.time或time.deltaTime检查更新函数中的时间,也可以使用与新WaitForSeconds(5)对象的协程

它可以简单到:

float time;
void Update()
{
    time += Time.deltaTime;
    if(time > 5)
    {
        LoseALife();
    }
}
如果每次完成一个单词时都需要重新启动计时器,则可以使用以下传统方法:

public void RestartTimer()
{
    time = 0;
}

这将使计时器随时返回到0。

请注意,在unity中为设备编码时,必须尽可能避免使用.net framework类以节省生成大小。(除了mscorlib)请注意,在unity中为设备编码时,为了节省构建大小,必须尽可能避免使用.net framework类。(除了mscorlib)唯一的问题是有多个单词,因此每次完成一个单词后计时器都需要重新启动OK,我将编辑我的答案,使其能够使用多个单词唯一的问题是有多个单词,因此每次完成一个单词后计时器都需要重新启动OK,我将编辑我的答案,使其与多个单词一起工作