Я пытаюсь написать простую программу для пигмеев, в которой на экране движутся некоторые прямоугольники. Я следую этому примеру .
Урок имеет следующую структуру:
class Box(pygame.sprite.Sprite):
...
def update(self, currtime):
if self.next_update_time < current_time:
print time.time() # I added this to debug
# Do some stuff
self.next_update_time = current_time + 10
box = Box()
while True:
pygame.time.delay(10)
time = pygame.time.get_ticks()
box.update(time)
Мои коробки двигаются, но не очень плавно. Они ускоряются и замедляются. Когда я строю точки, в которых происходит обновление, я получаю это .
Похоже ли это на проблему с дизайном, предложенным в уроке, которому я следую? Это проблема с моим оборудованием?
EDIT:
Исходя из ответа Радомира Доперальского, лучший подход:
class Box(pygame.sprite.Sprite):
...
def update(self):
# Do some stuff
box = Box()
clock = pygame.time.Clock()
while True:
clock.tick(100)
box.update()