2
in_place函數與非ip函數有什麼不同,它們爲什麼存在? 何時應該使用例如move()
,inflate()
以及何時使用move_ip()
,inflate_ip()
?Pygame in-place methodes
in_place函數與非ip函數有什麼不同,它們爲什麼存在? 何時應該使用例如move()
,inflate()
以及何時使用move_ip()
,inflate_ip()
?Pygame in-place methodes
就地功能工作,以及到位;他們更改您撥打的Rect
,而非就地功能會使用相應的更改返回Rect
類的新實例。
您可以隨時使用它們,而您實際上想要更改Rect
,例如,你有一個Sprite
,並希望移動它,你可以使用的
s = SomeSpriteClass()
s.rect.move_ip(100, 0)
代替
s = SomeSpriteClass()
s.rect = s.rect.move(100, 0)
到Sprite
100像素向右移動。
如果您不想實際更改Rect
,例如,您將使用非就地功能。當你只想做一些計算時,比如實現一個攝像頭功能。
因爲它沒有創建並返回對象的新副本,所以'ip'函數是否也在資源上進行了保留? – amirteymuri