在椭圆路径中动画pygame精灵

Dan*_*nny 4 python animation pygame

这是python 2.6上的pygame 1.9 ..

以下是我的"游戏"中当前正在绘制的内容的屏幕截图.是代码.

它应该是围绕地球轨道运行的月球(我不是想做一个真正的模拟或任何东西,我只是用它来玩游戏并学习pygame).这是2个圆圈,卫星椭圆绕地球运行.我的最终游戏是让月亮跟随它围绕地球运行的轨道,但我想稍后使用键盘控制来调整卫星轨道的形状.

我真的需要帮助弄清楚如何使月亮沿着路径行进,我可能会想到其余部分.

Cla*_*diu 5

那么这里是如何沿椭圆生成点:

for degree in range(360):
    x = cos(degree * 2 * pi / 360) * radius * xToYratio
    y = sin(degree * 2 * pi / 360) * radius
Run Code Online (Sandbox Code Playgroud)

(x,y)将遵循以(0,0)y 为中心radius且x半径为中心的椭圆xToYratio.在你的情况下,你可能想要degree以某种方式与时间相关.

编辑:你也可以这样做:

for degree in range(360):
    x = cos(degree * 2 * pi / 360) * xRadius
    y = sin(degree * 2 * pi / 360) * yRadius
Run Code Online (Sandbox Code Playgroud)

哪个xRadius是你的矩形宽度的yRadius一半,是你的高度的一半.直观地可视化 - 你有一个圆圈,你正在伸展它(即缩放它,即乘以它),使它与水平和垂直方向一样大.