我最近在Python3和Pygame中重新创建了一个版本的Lunar Lander(你知道,旧的复古游戏):由于重力,我的着陆器沿y轴移动每个帧
问题:
在达到1 m/s之前,添加到rect.move的y值是1以下的浮点值:我必须使用int()
对其进行取整,因为pygame不喜欢浮点值。
在Tkinter的早期版本中,着陆器的y坐标如下:
0.01
0.02
...
0.765
1.03
1.45
...
在pygame中是
0
0
0
...
1
1
1
2
2
...
这真的很烦人,因为运动不流畅。
有人知道如何解决这个问题吗?比如,向rect.move
输入一个浮点?
提前谢谢
由于^{} 应该表示屏幕上的一个区域,因此
pygame.Rect
对象只能存储整数数据:如果要以浮点精度存储对象位置,则必须将对象位置分别存储在单独的变量属性中,并同步} 坐标并将其分配到矩形的位置(例如
pygame.Rect
对象^{.topleft
):我自己还没有测试过它,所以如果这不起作用,我很抱歉,但是我认为python将数字作为字符串,所以不是
int(variable)
你应该做
float(variable)
相关问题 更多 >
编程相关推荐