我想制作一个倒计时计时器,当他处于活动状态时,它将返回bool的值,因此我可以检查其他脚本是否处于活动状态,如果不是则给出双倍分数,那么您需要给出正常的分数。 我想使其更加复杂,并且我想在计时器处于活动状态时在计时器上添加时间,如果未启用,那么我们将使用默认的倒数时间...
如果计时器还没有结束,我在需要加时间的时候我不知道怎么特别使用库鲁汀。
让我们举个例子: 我启动电源,计时器开始工作5秒钟,计数为0。 如果我再次启动电源并打开计时器,请说3,现在启动电源需要8秒钟。通电结束后,他必须在5秒钟后从玩家拿起新的那一秒开始。
这是我的代码不起作用,我想我的代码也没有功能,当启动电源时,没有增加时间来启动电源。换句话说,我不知道如何检查是否通电功能处于活动状态,如果是,则仅增加5秒。.
这里的代码不包含添加时间,只包含工作计数器。
void startDoublePoints()
{
StartCoroutine("doublePoints");
Time.timeScale = 1;
}
//Simple courutine
IEnumerator doublePoints()
{
while (true)
{
yield return new WaitForSeconds(1);
timeLeft--;
}
}
我希望有人能向我详细说明如何实现我的目标。我希望我能说明我需要实现的目标。如果您不了解某些内容,请提出评论,我将尝试再次说明。
非常感谢您的社区,我不知道如果没有这个好地方,我怎么学到什么呢:)
答案 0 :(得分:1)
float powerUpTimer;
bool isDoublePoints = false;
void Update()
{
// Check timer only when Power up time
if(isDoublePoints)
{
// Countdown the timer with update time
powerUpTimer -= Time.deltaTime;
if(powerUpTimer <= 0)
{
// End of power up time
isDoublePoints = false;
powerUpTimer = 0;
}
}
}
// Add any time player picks to timer
public void OnPickPowerUp(float buffTime)
{
isDoublePoints = true;
powerUpTimer += buffTime;
}