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)

向右移动Sprite100像素。
当您不想实际更改Sprite时,您可以使用非就地函数,例如,当您只想进行一些计算时,例如实现相机函数。

10-06 05:21
查看更多