数值解释"/>
飞机大战中rect属性存储小数值解释
**pygam飞机大战中关于rect的center属性等只能存储整数问题的解释,
**
首先要创建一个能存储浮点数的变量,并且这个变量得等于self.rect.centerx的值,任何变量都能存储浮点数。
- 要满足这俩个条件,为什么不能直接self.center = self.rect.centerx,因为这样self.center会指向self.rect.centerx。
- 有没有除了float()的方法,既使俩者相等值相等又不能直接指向self.rect.centerx。
解答 :没有
3.使用float()方法发生了什么,会重新开辟块内存,存放小数版的self.rect.centerx的值(因为整数是不可变对象)。这时候飞船移动更新的值是self.center,self.rect.centerx的值并没有改变。
4.所以最后需要 self.rect.centerx = self.center.将其改变的值重新赋给self.rect.centerx,它会只取整数部分,不过影响不大
更多推荐
飞机大战中rect属性存储小数值解释
发布评论