我正在开发一款 2d 游戏,我希望玩家能够使用箭头键移动。
我设法让玩家通过左摇杆(Xbox 360 Controller )移动
GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
hero.position.X += gamePadState.ThumbSticks.Left.X * 20;
但我不知道如何用箭头键移动它。
任何人都可以帮助我吗? :)
最佳答案
要处理键盘,您可以使用 Keyboard.GetState()返回 KeyboardState。获得键盘状态后,您可以调用 KeyboardState.IsKeyDown()以确定是否按下了您感兴趣的键。如果按下该键,则相应地调整 x 和 y 坐标。
请记住,拇指摇杆是模拟输入,因此您可以获得一系列值,指示摇杆向左、向右、向上或向下移动的距离,这允许玩家对“速度”进行一些控制。键盘是数字的,所以它要么被按下,要么没有被按下,所以角色要么移动要么不动。有一些技巧可以让您在键盘上感觉相似,但首先让您的角色移动,然后如果您需要它,您可以深入研究它。
您还应该看看 XNA 附带的平台入门工具包,该代码应该会让您对如何处理输入设备有一些想法。
关于c# - 使用箭头键而不是拇指摇杆移动播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7460715/