如何制作通电定时器?
How to make powerup timer?
我想制作倒计时计时器,当他处于活动状态时,它会 return 布尔值,这样我可以检查其他脚本是否处于活动状态,如果不是,则需要给予正常点数。 .
我想让它变得更复杂,如果计时器处于活动状态,我想在计时器上添加时间,如果不是,那么我们在倒计时时使用默认时间...
我不知道如何在定时器未结束的情况下需要添加时间时专门使用courutine..
让我们举个例子:
我拿起电源,计时器开始计时 5 秒,从 0 开始计时。
如果我再次拿起 powerup 并且计时器开启让我们说 3,Power up 现在需要 8 秒。当通电结束时,当玩家拿起新的时,他必须从 5 秒开始..
这是我的代码,它无法正常工作,我的代码也没有在启动时增加启动时间的功能。换句话说,我不知道我该怎么做检查 powerup 是否处于活动状态,如果是,则将计数器再增加 5 秒..
这里的代码不包含添加时间它只包含工作计数器..
void startDoublePoints()
{
StartCoroutine("doublePoints");
Time.timeScale = 1;
}
//Simple courutine
IEnumerator doublePoints()
{
while (true)
{
yield return new WaitForSeconds(1);
timeLeft--;
}
}
我希望有人能更多地解释我如何实现我的目标。我希望我解释了我需要实现的目标。如果你不明白什么,请在评论中提问,我会尝试再次解释..
非常感谢社区,如果没有这个好地方,我不知道如何学习任何东西:)
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;
}
我想制作倒计时计时器,当他处于活动状态时,它会 return 布尔值,这样我可以检查其他脚本是否处于活动状态,如果不是,则需要给予正常点数。 . 我想让它变得更复杂,如果计时器处于活动状态,我想在计时器上添加时间,如果不是,那么我们在倒计时时使用默认时间...
我不知道如何在定时器未结束的情况下需要添加时间时专门使用courutine..
让我们举个例子: 我拿起电源,计时器开始计时 5 秒,从 0 开始计时。 如果我再次拿起 powerup 并且计时器开启让我们说 3,Power up 现在需要 8 秒。当通电结束时,当玩家拿起新的时,他必须从 5 秒开始..
这是我的代码,它无法正常工作,我的代码也没有在启动时增加启动时间的功能。换句话说,我不知道我该怎么做检查 powerup 是否处于活动状态,如果是,则将计数器再增加 5 秒..
这里的代码不包含添加时间它只包含工作计数器..
void startDoublePoints()
{
StartCoroutine("doublePoints");
Time.timeScale = 1;
}
//Simple courutine
IEnumerator doublePoints()
{
while (true)
{
yield return new WaitForSeconds(1);
timeLeft--;
}
}
我希望有人能更多地解释我如何实现我的目标。我希望我解释了我需要实现的目标。如果你不明白什么,请在评论中提问,我会尝试再次解释..
非常感谢社区,如果没有这个好地方,我不知道如何学习任何东西:)
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;
}