2

我正在开发一个 2d 游戏,我希望玩家能够用箭头键移动。

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

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

但我不知道如何用箭头键移动它。

有什么可以帮助我的吗?:)

4

1 回答 1

1

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

请记住,拇指摇杆是模拟输入,因此您可以获得一系列值,指示摇杆向左、向右、向上或向下移动了多远,从而允许玩家对“速度”进行一些控制。键盘是数字的,所以要么按下,要么不按下,所以角色要么移动,要么不移动。有一些技巧可以让键盘上的感觉相似,但首先让你的角色移动,然后如果你需要它,你可以深入研究它。

您还应该查看 XNA 附带的 Platform starter kit,该代码应该为您提供一些关于如何处理输入设备的想法。

于 2011-09-18T10:25:04.000 回答