我正在进行2D游戏,我想让玩家能够用箭头键移动。
我设法通过左手拇指棒(Xbox 360控制器)让玩家移动
GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
hero.position.X += gamePadState.ThumbSticks.Left.X * 20;
但我无法弄清楚如何用箭头键移动它。
有什么能帮助我的吗? :)
答案 0 :(得分:1)
要处理键盘,您可以使用返回KeyboardState的Keyboard.GetState()。一旦掌握了键盘状态,就可以调用KeyboardState.IsKeyDown()来确定是否按下了您感兴趣的键。如果按下该键,则相应地调整x和y坐标。
请记住,拇指杆是模拟输入,因此您可以获得一系列值,指示操纵杆向左,向右,向上或向下移动的距离,这样玩家可以控制“速度”。键盘是数字的,所以它是按下还是不按,所以角色要么移动要么不移动。有一些技巧可以让你在键盘上感觉相似,但首先让你的角色移动,然后你可以深入研究,如果你需要它。
您还应该看一下XNA附带的Platform入门套件,该代码应该为您提供有关如何处理输入设备的一些想法。