In位函数与非IP函数的区别是什么?它们为什么存在?
例如,何时使用move()
,inflate()
以及何时使用move_ip()
,inflate_ip()
?
最佳答案
就地函数起作用;它们更改您调用它们的Rect
,而非就地函数返回带有相应更改的Rect
类的新实例。
您可以在任何时候使用它们,例如您有一个Rect
并想移动它,您可以使用
s = SomeSpriteClass()
s.rect.move_ip(100, 0)
而不是
s = SomeSpriteClass()
s.rect = s.rect.move(100, 0)
向右移动
Sprite
100像素。当您不想实际更改
Sprite
时,您可以使用非就地函数,例如,当您只想进行一些计算时,例如实现相机函数。