用箭头键而不是拇指杆移动播放器

时间:2011-09-18 09:50:51

标签: c# xna-4.0 arrow-keys

我正在进行2D游戏,我想让玩家能够用箭头键移动。

我设法通过左手拇指棒(Xbox 360控制器)让玩家移动

GamePadState gamePadState = GamePad.GetState(PlayerIndex.One);
hero.position.X += gamePadState.ThumbSticks.Left.X * 20;

但我无法弄清楚如何用箭头键移动它。

有什么能帮助我的吗? :)

1 个答案:

答案 0 :(得分:1)

要处理键盘,您可以使用返回KeyboardState的Keyboard.GetState()。一旦掌握了键盘状态,就可以调用KeyboardState.IsKeyDown()来确定是否按下了您感兴趣的键。如果按下该键,则相应地调整x和y坐标。

请记住,拇指杆是模拟输入,因此您可以获得一系列值,指示操纵杆向左,向右,向上或向下移动的距离,这样玩家可以控制“速度”。键盘是数字的,所以它是按下还是不按,所以角色要么移动要么不移动。有一些技巧可以让你在键盘上感觉相似,但首先让你的角色移动,然后你可以深入研究,如果你需要它。

您还应该看一下XNA附带的Platform入门套件,该代码应该为您提供有关如何处理输入设备的一些想法。