Эй, я работаю над гравитацией для моего супер Марио Бросса.Я хотел бы плавного движения гравитации. Но мой игрок словно телепортируется с вершины на землю.
Я думал, что это была петля, которая двигалась слишком быстро, и Pygame не мог стереть изображение, но япопытался замедлить цикл с помощью time.sleep () или pygame.time.wait () не работает.В начале это выглядит так: Изображение: до Изображение: через секунду Спасибо за помощь!
def moove(self,keys):
if(self.gravity()):
if keys[pygame.K_LEFT]:
self.orientation = "Left"
if not(self.x - vel<0) and not self.collision_with_walls():
map.draw()
self.rect.x -= vel
camera.update(player)
self.draw_player()
def gravity(self):
refresh = 0
self.collision_with_ground = False
while not self.collision_with_ground:
self.rect.y += 1
blocks_hit_list = pygame.sprite.spritecollide(self,sol_sprites,False)
if not(blocks_hit_list == []):
self.collision_with_ground = True
self.rect.y -= 1
map.draw()
player.draw_player()
return True
else:
map.draw()
player.draw_player()
pygame.time.wait(10)