這次我來找你們尋求與定時器幫助(System.Timers是具體的,我相信)無法創建運行在C#中的功能的計時器
我需要運行一個計時器函數中的每條第二,到目前爲止,這是我已經有了:
public class Game1 : Microsoft.Xna.Framework.Game
{
Timer CooldownTracker;
protected override void LoadContent()
{
CooldownTracker = new Timer();
CooldownTracker.Interval = 1000;
CooldownTracker.Start();
}
private void DecreaseCooldown(List<Brick> bricks)
{
foreach (Brick brick in bricks)
{
if (brick.Cooldown == 0)
brick.Cooldown = 2;
else
brick.Cooldown--;
}
}
}
...我如何運行DecreasedCooldown(名單磚)功能的計時器?我用Timer.Elapsed嘗試過,但我什麼也沒有得到,我不能以這種方式傳遞參數。有任何想法嗎?
謝謝!
您可能不應該在XNA中使用計時器。首選方法是使用'Update()'方法。基本上你有一個包含時間直到方法被觸發的類級字段/屬性,我們稱之爲'timeLeft'。每次調用Update()時,都會從'timeLeft'中減去已用時間(使用gameTime參數)。一旦'timeLeft' <= 0,調用方法觸發並重置'timeLeft'。 – itsme86