예제 #1
0
        public void Update(double elapsedTime, double gameTime)
        {
            //_testSprite.Update(elapsedTime);
            //UpdateCollisions();
            _moveChessManager.Update(elapsedTime);
            //提供和控制游戏玩家
            double _x           = _input.Controller.LeftControlStick.X;
            double _y           = _input.Controller.LeftControlStick.Y * -1;
            Vector controlInput = new Vector(_x, _y, 0);

            if (Math.Abs(controlInput.Length()) < 0.0001)
            {
                //如果游戏角色输入非常小,哪可能不是用摇杆控制,而是用键盘控制
                if (_input.Keyboard.IsKeyHeld(Keys.Left))
                {
                    controlInput.X = -1;
                }

                if (_input.Keyboard.IsKeyHeld(Keys.Right))
                {
                    controlInput.X = 1;
                }

                if (_input.Keyboard.IsKeyHeld(Keys.Up))
                {
                    controlInput.Y = 1;
                }

                if (_input.Keyboard.IsKeyHeld(Keys.Down))
                {
                    controlInput.Y = -1;
                }
            }
            _effectsManager.Update(elapsedTime);
            //_chessBoard.Move(controlInput * elapsedTime);
            _chessBoard.Update(elapsedTime);
            _background.Update((float)elapsedTime);

            //_backgroundLayer.Update((float)elapsedTime);
            //_enemyList.ForEach(x => x.Update(elapsedTime));
            //_enemyManager.Update(elapsedTime, gameTime);
            //在这个方法里面处理输入
            UpdateInput(elapsedTime);
        }
예제 #2
0
 public void Update(double elapsedTime)
 {
     _menu.HandleInput();
     //_menu.Update(elapsedTime);
     _effectsManager.Update(elapsedTime);
 }