in_place函数与非ip函数有什么区别?为什么它们存在?
应该何时使用move()
,inflate()
以及何时使用move_ip()
,inflate_ip()
?
答案 0 :(得分:4)
到位功能正常,到位;它们会更改您调用它们的Rect
,而非就地函数会返回Rect
类的新实例以及相应的更改。
您可以在实际想要更改Rect
的任何时候使用它们,例如你有一个Sprite
并希望移动它,你可以使用
s = SomeSpriteClass()
s.rect.move_ip(100, 0)
而不是
s = SomeSpriteClass()
s.rect = s.rect.move(100, 0)
将Sprite
100像素向右移动。
当您不想实际更改Rect
时,您可以使用非就地功能,例如当你只想做一些计算时,比如实现相机功能。