2016-03-31 2 views
2

В чем отличия функций in_place от non-ip и почему они существуют? Когда следует использовать, например, move(), inflate() и когда использовать move_ip(), inflate_ip()?Pygame in-place methodes

ответ

4

На месте функция работы, ну, на месте; они меняют Rect, на которые вы их называете, а функции non-in place возвращают новые экземпляры класса Rect с соответствующими изменениями.

Вы можете использовать их в любое время, когда хотите на самом деле изменить Rect, например. у вас есть Sprite и хотите, чтобы переместить его, вы можете использовать

s = SomeSpriteClass() 
s.rect.move_ip(100, 0) 

вместо

s = SomeSpriteClass() 
s.rect = s.rect.move(100, 0) 

переместить Sprite 100 пикселей вправо.

Вы должны использовать функции не в месте, если вы не хотите фактически изменять Rect, например. когда вы только хотите сделать некоторые вычисления, например, реализовать функцию камеры.

+0

Таким образом, функция 'ip' также резервируется на ресурсы, поскольку она не создает и не возвращает новую копию объекта? – amirteymuri

Смежные вопросы