Отображение секунд в XNA с помощью нажатия клавиш? - PullRequest
0 голосов
/ 17 января 2012

Я следовал руководству для отображения секунд в XNA, но теперь задавался вопросом, как сделать подсчет секунд ТОЛЬКО при нажатии Пробел .Итак, когда я запускаю игру, секунды не запускаются автоматически, а только когда я нажимаю пробел.

Возможно ли это сделать?

Ответы [ 2 ]

0 голосов
/ 22 января 2012

Это будет делать то, что вы просите.Все, что я сделал, это добавил переменную timerEnabled и установил значение true в обновленном методе, если была нажата SpaceBar .Я также добавил строку, которая не будет запускать таймер, пока timerEnabled не будет установлено в значение true.

public class Game1 : Microsoft.Xna.Framework.Game
    {
        //Put this variable at the top with the others.
        bool timerEnabled;

        protected override void Update( GameTime gameTime )
        {
            if ( Keyboard.GetState().KeyDown( Key.Space ) ) timerEnabled = true;

            if (timerEnabled) _timer += gameTime.ElapsedGameTime.TotalMilliseconds;

            base.Update( gameTime );
        }

    }
0 голосов
/ 17 января 2012
KeyboardState state = Keyboard.GetState()
if(state.KeyDown(Key.Space))
  _timer += ......

Что-то подобное должно помочь вам на старте.В основном, проверьте, не нажата ли клавиша, и если это так, добавьте больше времени к _timer.

...