用方向键而不是拇指杆移动玩家

本文关键字:移动 玩家 方向 | 更新日期: 2023-09-27 18:08:50

我正在制作一款2d游戏,我希望玩家能够使用方向键移动。

我已经设法让玩家移动左手拇指杆(Xbox 360控制器)

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

但是我不知道怎么用方向键移动它。

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

用方向键而不是拇指杆移动玩家

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

记住,操纵杆是模拟输入,所以你可以得到一个范围的数值,表明操纵杆向左、向右、向上或向下移动了多远,这允许玩家控制"速度"。键盘是数字的,所以它要么被按下,要么不被按下,所以角色要么移动,要么不移动。有一些技巧可以让这种感觉在键盘上类似,但首先让你的角色移动,然后你可以深入研究,如果你甚至需要它。

您还应该看看XNA附带的平台入门工具包,该代码应该会给您一些关于如何处理输入设备的想法。