/// <summary> /// Aktualizace herního světa a všech aktivních objektů před vykreslením. /// </summary> /// <param name="gameTime">Herní čas.</param> protected override void Update(GameTime gameTime) { //Aktuální stav vstupních zařízení _currentKeyboardState = Keyboard.GetState(); _currentGamePadState = GamePad.GetState(PlayerIndex.One); _currentMouseState = Mouse.GetState(); if (PressedOnce(Keys.Escape, Buttons.Back)) { Exit(); } #region Přepínání ukázkových scén if (PressedOnce(Keys.Left, Buttons.DPadLeft)) { DestructCurrentScene(); _currentDemo++; _currentDemo = _currentDemo % DemoScenes.Count; DemoScenes[_currentDemo].Construct(); } if (PressedOnce(Keys.Right, Buttons.DPadRight)) { DestructCurrentScene(); _currentDemo += DemoScenes.Count - 1; _currentDemo = _currentDemo % DemoScenes.Count; DemoScenes[_currentDemo].Construct(); } #endregion Přepínání ukázkových scén //Aktualizace pohybu kamerou CameraMovement(gameTime); //Aktualizace herního světa (a tím probíhající fyzikální simulace) World3D.Update(gameTime); //Možnost uchopení tělesa myší GrabWorldObject(); DemoScenes[_currentDemo].Update( _currentKeyboardState, _previousKeyboardState, _currentGamePadState, _previousGamePadState); //Skrytí nebo zobrazení překryvného informačního textu if (PressedOnce(Keys.F12, Buttons.Start)) { Info.Visible = !Info.Visible; } //Předchozí stav vstupních zařízení (pro další aktualizaci) _previousKeyboardState = _currentKeyboardState; _previousGamePadState = _currentGamePadState; _previousMouseState = _currentMouseState; base.Update(gameTime); }
protected override void Update(GameTime gameTime) { switch (state) { case GameState.WorldL: state = GameState.World; world3D.Update(gameTime); FrameRate(gameTime); Status(gameTime); GUI.Update(gameTime); break; case GameState.World: UpdateControls(gameTime); if (Global.Pressed(Keys.Escape)) { state = GameState.Pause; } Commands(gameTime); world3D.Update(gameTime); FrameRate(gameTime); Status(gameTime); GUI.Update(gameTime); break; case GameState.Pause: UpdateControls(gameTime); if (Global.Pressed(Keys.Escape)) { this.Exit(); } if (Global.WindowClicked()) { state = GameState.World; } FrameRate(gameTime); Status(gameTime); GUI.Update(gameTime); DisplayTextureData(); break; } a9.position = Orbiter2.position; }
protected override void Update(GameTime gameTime) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || Keyboard.GetState().IsKeyDown(Keys.Escape)) { Exit(); } world3D.Update(gameTime); base.Update(gameTime); }