in_place 函数与非 ip 函数有什么区别,为什么存在?
例如,什么时候应该使用 move()
、inflate()
以及什么时候使用 move_ip()
、inflate_ip()
?
最佳答案
就地函数工作得很好,就地;它们会更改您调用它们的 Rect
,而非就地函数会返回具有相应更改的 Rect
类的新实例。
您可以在任何时候真正想要更改 Rect
时使用它们,例如你有一个 Sprite
并且想要移动它,你可以使用
s = SomeSpriteClass()
s.rect.move_ip(100, 0)
代替
s = SomeSpriteClass()
s.rect = s.rect.move(100, 0)
将 Sprite
向右移动 100 像素。
当您不想实际更改 Rect
时,您可以使用非就地函数,例如当您只想进行一些计算时,例如实现相机功能。
关于python - Pygame 就地方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36335551/