UYou может использовать ElapsedGameTime свойство gameTime
переменной передается методу Update
как это:
const float shootTimer = 1.0f;
float elapsedTime = 0f;
protected override void Update(GameTime gameTime)
{
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
elapsedTime += gameTime.ElapsedGameTime.TotalSeconds;
if(elapsedTime >= shootTimer && /* Your logic to see if you should shoot a fireball */)
{
// Shoot the fireball!
elapsedTime = 0f;
}
base.Update(gameTime);
}
В принципе, то, что вы делаете в коде выше устанавливает минимальное значение (в секундах), необходимо проходят между каждым выстрелом. Затем вы создаете переменную, которая будет хранить количество времени, которое прошло между каждым выстрелом.
В методе Update
вы добавляете время между каждым вызовом Update
, а затем проверяете, больше ли он таймера, и если да, то вы снимаете и перезапускаете прошедшее время.
Примечание: Я написал эту часть кода из головы, поэтому у нее может быть небольшая проблема.
Спасибо за ответы! Оно работает! :) – Gerixxx