2012-01-17 9 views
-1

私はa guideの後に秒をXNAに表示することになっていましたが、のスペースバーを押したときだけ秒をカウントアップする方法が不思議に思っていました。だから、私がゲームを始めると、秒は自動的に開始されませんが、スペースバーを押したときだけです。KeypressでXNAで秒を表示していますか?

これは可能ですか?

答えて

0

これはあなたが求めるものです。私がしたのは、SpaceBarが押された場合、更新されたメソッドでtimerEnabled変数を追加してtrueに設定したことだけでした。 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
KeyboardState state = Keyboard.GetState() 
if(state.KeyDown(Key.Space)) 
    _timer += ...... 

開始時に役立つようなものがあります。 基本的に、キーが押されているかどうかを確認し、キーが押されている場合は、_timerに時間を追加してください。

関連する問題