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); }
public void Update(double elapsedTime) { _menu.HandleInput(); //_menu.Update(elapsedTime); _effectsManager.Update(elapsedTime); }