rect的x,y等属性只能存放整数,
可以设置
1.self.x = float(self.rect.x)
2.self.x += speed
3.self.rect.x = self.x # self.rect.x仍只能存放int型
虽然self.rect.x仍只能存放int型,但由于2的self.x可以存放小数,当speed为小数时,+=的计算都是小数相加,不进行小数位省略,3步只会省略一次小数位。
而 self.rect.x += speed时,每次都会省略一个小数位
这篇博客探讨了在Python中处理`rect`对象时遇到的小数精度问题。尽管`rect`的`x`属性只能存储整数,但通过将`x`属性设置为浮点数并使用`+=`运算符更新速度(speed),可以在每次更新时不丢失小数精度。然而,直接使用`rect.x += speed`会导致每次更新时小数位被截断。这对于需要精确位置控制的场景至关重要。
rect的x,y等属性只能存放整数,
可以设置
1.self.x = float(self.rect.x)
2.self.x += speed
3.self.rect.x = self.x # self.rect.x仍只能存放int型
虽然self.rect.x仍只能存放int型,但由于2的self.x可以存放小数,当speed为小数时,+=的计算都是小数相加,不进行小数位省略,3步只会省略一次小数位。
而 self.rect.x += speed时,每次都会省略一个小数位
7246
5883

被折叠的 条评论
为什么被折叠?
