0

目前在 XNA 中为 XBox 控制器编写一个自上而下的射击游戏时有一些乐趣,但我现在遇到了一些问题。

所以我用左摇杆移动我的角色并用我的右手瞄准,所以基本上我可以向任何方向移动并且仍然可以 360 度角拍摄。我现在拥有的东西有效,但它非常敏感和“俗气”,如果我在完美的外圈中移动拇指杆,它喜欢在所有 90 个角度上多贴一点,然后再移动到下一个角度。

所以这就是我现在所拥有的:

direction.X = gpState_new.ThumbSticks.Right.X;
direction.Y = gpState_new.ThumbSticks.Right.Y;
rotation = Math.Atan2(direction.Y, direction.X);

然后当我绘制玩家时,我使用旋转作为绘制它的角度。你有关于如何更好地做到这一点的任何提示吗?

弗雷德里克

4

1 回答 1

1

看起来这是因为棍子上的“死区”。基本修复可能类似于使用 GamePadDeadZone.Circular。也许在你的代码之前,像

GamePadState gpSTate_new = GamePad.GetState(playerIndex, GamePadDeadZone.Circular);

在 GameDev 上提出了一个非常相似的问题(您可以在那里看到更详细的答案),将来您可能会在这类问题上获得更好的运气。

于 2013-01-10T22:00:37.850 回答