在pygame游戏中,我一个接一个地挥舞几个sprite时遇到了困难。
我目前正在尝试制作类似《马里奥兄弟》的游戏,希望我可以在角色移动时为其角色赋予生气。我尝试使用一些时间命令,但在理解如何使其工作方面有困难。这是我用来移动角色的功能:
def move(self,keys):
if self.isJumping:
self.jump()
if keys[pygame.K_LEFT]:
self.orientation = "Left"
if not(self.x - vel<0) and not self.collision_with_walls():
self.rect.x -= vel
camera.update(player)
self.draw_player()
if keys[pygame.K_RIGHT]:
self.orientation = "Right"
if not self.collision_with_walls():
self.rect.x += vel
camera.update(player)
self.draw_player()
else:
self.gravity()
if keys[pygame.K_LEFT]:
self.orientation = "Left"
if not(self.x - vel<0) and not self.collision_with_walls():
self.rect.x -= vel
camera.update(player)
self.draw_player()
if keys[pygame.K_RIGHT]:
self.orientation = "Right"
if not self.collision_with_walls():
self.rect.x += vel
camera.update(player)
self.draw_player()
if (not self.isJumping):
if keys[pygame.K_DOWN]:
self.orientation = "Down"
if not ((self.y+vel)>HEIGTH_display-height)and not self.collision_with_walls():
self.rect.y += vel
camera.update(player)
self.draw_player()
if keys[pygame.K_UP]:
if self.collision_with_ground:
self.isJumping = True
return x,y
例如,当他向右行走时,他应该首先将右臂放在他的面前,然后0.5秒后另一个精灵显示他在同一点上的手臂,然后再0.5秒后将其放在他的左臂上在他的前面……等等,只要他走路。
现在,按照我的尝试,我的马里奥要么一直走着一个精灵,要么我的游戏甚至无法启动。