在椭圆路径中动画pygame精灵

时间:2010-05-14 21:02:37

标签: python animation pygame

这是python 2.6上的pygame 1.9 ..

这是screenshot当前在我的“游戏”中绘制的内容,以提供一些背景信息。 Here是代码。

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

我真的需要帮助弄清楚如何让月球沿着这条路走下去,我可能会想出其余部分。

1 个答案:

答案 0 :(得分:5)

这里是你如何沿着椭圆生成点:

for degree in range(360):
    x = cos(degree * 2 * pi / 360) * radius * xToYratio
    y = sin(degree * 2 * pi / 360) * radius

(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

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