我正在尝试制作游戏小行星。我现在遇到的问题是,如果您按向上箭头键,它会将“船”向上移动 10 个像素。如果你按下左箭头键,它会将“船”向左转 5 度,当你向左或向右转时,我遇到的问题就会发挥作用。然后尝试向上移动。它不会向转向的方向移动。它只会将转动的“船”沿 Y 方向移动 10 度。
我想做的是有一个名为方向的变量,把这个变量想象成一个 360 度的圆。我想要做的是每次我击中左箭头时,它会从方向中减去 5,它从 0 开始并从 360 向后退,因此将其设置为 355。然后我将 355 除以 10 并得到 35.5。然后我将 10 除以 35.5 得到 0.355。然后我会从 10 中减去 0.355(在 Y 轴上向上移动)。并从 0 中减去它(在 X 中向左移动)。所以我会在 Y 线向上移动 9.645,在 X 线向左移动 0.355。
我遇到的问题是我拥有的 Asteroids 中的“船”是 Graphics.FillPie,它需要 Ints 用作起始角和扫角,但是如您所见,我必须使用双精度或浮点数。我很确定我把它复杂化了,而且我很确定有些东西要简单 100 倍,我在想一些类似于 Bresenham 线算法的东西。如果有人可以通过建议更简单的方法或解决我的问题来提供帮助,将不胜感激。提前致谢。