如何解决如何让动画一次播放python
所以我为播放器制作了一个动画,我想知道如何使其播放一次,我尝试了这段代码
if self.anim_index == 5:
self.direction = "idle"
但是它不起作用,我正在尝试使其播放,以便播放器动画一次播放,然后根据其面对的方式返回到其空闲位置。
这是我写的代码
class Player:
def __init__(self,x,y,width,height,color):
self.x = x
self.y = y
self.width = width
self.height = height
self.color = color
self.speed = 5
self.isJump = False
self.JumpCount = 10
self.idle =[pygame.image.load("player_idel_1.png"),pygame.image.load("player_idel_2.png"),pygame.image.load("player_idel_3.png"),pygame.image.load("player_idel_4.png"),pygame.image.load("player_idel_5.png"),pygame.image.load("player_idel_6.png"),pygame.image.load("player_idel_7.png"),pygame.image.load("player_idel_8.png")
]
self.idlel = [pygame.image.load("Player_idel_left1.png"),pygame.image.load("Player_idel_left2.png"),pygame.image.load("Player_idel_left3.png"),pygame.image.load("Player_idel_left4.png"),pygame.image.load("Player_idel_left5.png"),pygame.image.load("Player_idel_left6.png"),pygame.image.load("Player_idel_left7.png"),pygame.image.load("Player_idel_left8.png")
]
self.right = [pygame.image.load("Player_walk_right1.png"),pygame.image.load("Player_walk_right2.png"),pygame.image.load("Player_walk_right3.png")]
self.left = [pygame.image.load("Player_walk_left1.png"),pygame.image.load("Player_walk_left2.png"),pygame.image.load("Player_walk_left3.png")]
self.jab = [pygame.image.load("Player_stab1.png"),pygame.image.load("Player_stab2.png"),pygame.image.load("Player_stab3.png"),pygame.image.load("Player_stab4.png"),pygame.image.load("Player_stab5.png")]
self.ljab = [pygame.image.load("Player_lstab1.png"),pygame.image.load("Player_lstab2.png"),pygame.image.load("Player_lstab3.png"),pygame.image.load("Player_lstab4.png"),pygame.image.load("Player_lstab5.png")]
self.jump1 = [pygame.image.load("Player_jump5.png")]
self.jump2 = [
pygame.image.load("Player_rjump1.png")]
self.fall = 0
self.rect = pygame.Rect(x,width)
self.idle = [pygame.transform.scale(image,(image.get_width()*2,image.get_height()*2)) for image in self.idle]
self.idlel = [pygame.transform.scale(image,image.get_height()*2)) for image in self.idlel]
self.right = [pygame.transform.scale(image,image.get_height()*2)) for image in self.right]
self.left = [pygame.transform.scale(image,image.get_height()*2)) for image in self.left]
self.jump1 = [pygame.transform.scale(image,image.get_height()*2)) for image in self.jump1]
self.jump2 = [pygame.transform.scale(image,image.get_height()*2)) for image in self.jump2]
self.jab = [pygame.transform.scale(image,image.get_height()*2)) for image in self.jab]
self.ljab = [pygame.transform.scale(image,image.get_height()*2)) for image in self.ljab]
self.fps = 10
self.clock = pygame.time.Clock()
self.anim_index = 0
self.direction = "idle"
self.direction = "right"
self.direction = "left"
self.dierection = "idleleft"
self.dierection = "jump1"
self.dierection = "jump2"
self.direction = "jab"
self.direction = "ljab"
self.next_frame_time = 0
def get_rect(self):
self.rect.topleft = (self.x,self.y)
return self.rect
pygame.draw.rect(self.color,self.rect)
def draw(self):
if self.direction == "idle":
image_list = self.idle
if self.direction == "right":
image_list = self.right
if self.direction == "left":
image_list = self.left
if self.direction == "idlel":
image_list = self.idlel
if self.direction == "jump1":
image_list = self.jump1
if self.direction == "jump2":
image_list = self.jump2
if self.direction == "jab":
image_list = self.jab
if self.direction == "ljab":
image_list = self.ljab
for image in self.jab:
if self.anim_index == 5:
self.direction = "idle"
我的完整代码 https://pastebin.com/vUdvGMS5
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。