Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Time Unity2D设定了计时赛,结束后会杀死玩家_Time_Unity3d_2d_Limit - Fatal编程技术网

Time Unity2D设定了计时赛,结束后会杀死玩家

Time Unity2D设定了计时赛,结束后会杀死玩家,time,unity3d,2d,limit,Time,Unity3d,2d,Limit,我找不到任何答案。我想设置一个5分钟的时间限制,从关卡开始到关卡结束。我还想让它在用完的时候杀死玩家。这是为Unity2D设计的,我想在屏幕的左上角或右上角看到计时器。所以基本上我需要一个像超级马里奥那样的时间限制。请用C代码 将问题分解为更简单的任务。你需要某种类型的计时器,你会想知道如何“杀死”玩家 要创建计时器,可以利用每帧更新运行一次的方式。统一也有时间课。在时间上,有一个变量deltaTime,它以秒为单位跟踪完成最后一帧的时间。您可能希望添加到类中充当计时器的其他内容是何时启动和停止

我找不到任何答案。我想设置一个5分钟的时间限制,从关卡开始到关卡结束。我还想让它在用完的时候杀死玩家。这是为Unity2D设计的,我想在屏幕的左上角或右上角看到计时器。所以基本上我需要一个像超级马里奥那样的时间限制。请用C代码

将问题分解为更简单的任务。你需要某种类型的计时器,你会想知道如何“杀死”玩家

要创建计时器,可以利用每帧更新运行一次的方式。统一也有时间课。在时间上,有一个变量deltaTime,它以秒为单位跟踪完成最后一帧的时间。您可能希望添加到类中充当计时器的其他内容是何时启动和停止计时器

要将计时器的值输出到游戏,您可能需要使用Unity的UI系统和画布。您可以创建作为画布一部分的文本对象,并将该文本对象锚定到左上角

要“杀死”一个玩家,你可以有一些方法,一旦计时器达到所讨论的时间就运行,并运行你想要的杀死逻辑

有用链接:
单行为更新:
时间:

UI:

您可以创建一个类来跟踪计时器,并检查失败的需求是否仍然存在

在这种情况下,您可以为计时器设置一个浮点数,并在完成或未完成液位时为条件设置一个bool

如果计时器达到零,检查bool是否仍然为false,如果为false,则调用KillPlayer()之类的函数。如果您通过触发或任何可以知道该级别是否应被视为已完成的操作来完成该级别,则将布尔设置为true

因此,您的最终检查可能如下所示:

public float levelTimer = 300f;
public bool levelComplete = false;

void Start()
{
     levelTimer = 300f;
     levelComplete = false;
}

void Update()
{
    levelTimer -= Time.deltaTime;     

    if(levelTimer <= 0 && !levelComplete)
    {
       KillPlayer();
       //Something like a Game Over screen maybe
    }
}
public float levelTimer=300f;
公共bool levelComplete=false;
void Start()
{
液位计时器=300f;
levelComplete=false;
}
无效更新()
{
levelTimer-=Time.deltaTime;
如果你需要,那么你需要理解,然后你可能需要试着去理解