コード例 #1
0
ファイル: HumanPlayer.cs プロジェクト: sk-zk/NoisEvader
        private Vector2 DoMouseMovement(ArenaCamera camera, bool confineCursorToScreen)
        {
            var newPos = new Vector2(inputHelper.MouseState.X, inputHelper.MouseState.Y);

            if (confineCursorToScreen)
            {
                newPos.X = MathHelper.Clamp(newPos.X, 0, NoisEvader.ScreenBounds.Width);
                newPos.Y = MathHelper.Clamp(newPos.Y, 0, NoisEvader.ScreenBounds.Height);
            }

            return(camera.MouseToWorld(newPos));
        }
コード例 #2
0
ファイル: HumanPlayer.cs プロジェクト: sk-zk/NoisEvader
        protected override void UpdatePosition(LevelTime levelTime, CircleSprite arenaCircle, ArenaCamera camera,
                                               bool confineCursorToScreen)
        {
            // TODO: Allow rebinding
            if (HasKeyboardMovement())
            {
                Center = DoKeyboardMovement(levelTime, inputHelper.KeyboardState);
            }
            else if (HasMouseMovement())
            {
                Center = DoMouseMovement(camera, confineCursorToScreen);
            }

            oobShadow.Center = camera.MouseToWorld(new Vector2(inputHelper.MouseState.X, inputHelper.MouseState.Y));

            KeepPlayerInbounds(arenaCircle, Center);
            SetCenters(Center);
        }