Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
        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);
        }