在pygame中沿椭圆路径动画化精灵
1 个回答
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
是矩形高度的一半。想象一下这个过程 - 你有一个圆,然后把它拉伸(也就是放大,或者说乘以一个数),让它在水平和垂直方向上都和矩形一样大。