на этот раз я пришел к вам, ребятам с просьбой о помощи с таймерами (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()', вычтите прошедшее время (используя аргумент gameTime) из 'timeLeft'. После 'timeLeft' <= 0 вызовите метод для запуска и сброса' timeLeft'. – itsme86