PythonPyGame动画在没有类的情况下工作,但一旦我将其放入类中,它就不想工作了?

PythonPyGame动画在没有类的情况下工作,但一旦我将其放入类中,它就不想工作了?,python,class,pygame,Python,Class,Pygame,好的,基本上我有一个我正在制作的游戏,在我把它放到面向对象的类编程中之前,它工作得非常好,动画在移动时工作,但是一旦我把它变成面向对象的编程,我的角色移动了,但没有动画,他移动时也看不见,仅在我停止按移动按钮时出现请帮助 代码如下: 导入时间 导入pygame pygame.init() win=pygame.display.set_模式((1280720))#创建640 x 480像素的窗口大小 pygame.display.set_caption(“Python世界”)#窗口的标题是“Pyt

好的,基本上我有一个我正在制作的游戏,在我把它放到面向对象的类编程中之前,它工作得非常好,动画在移动时工作,但是一旦我把它变成面向对象的编程,我的角色移动了,但没有动画,他移动时也看不见,仅在我停止按移动按钮时出现请帮助

代码如下:

导入时间
导入pygame
pygame.init()
win=pygame.display.set_模式((1280720))#创建640 x 480像素的窗口大小
pygame.display.set_caption(“Python世界”)#窗口的标题是“Python世界”
pygame.transform.scale(pygame.image.load('R1.png'),(40,60))
pygame.transform.scale(pygame.image.load('R2.png'),(40,60))
pygame.transform.scale(pygame.image.load('R3.png'),(40,60))
pygame.transform.scale(pygame.image.load('L1.png'),(40,60))
pygame.transform.scale(pygame.image.load('L2.png'),(40,60))
pygame.transform.scale(pygame.image.load('L3.png'),(40,60))
pygame.transform.scale(pygame.image.load('U1.png'),(40,60))
pygame.transform.scale(pygame.image.load('U2.png'),(40,60))
pygame.transform.scale(pygame.image.load('U3.png'),(40,60))
pygame.transform.scale(pygame.image.load('D1.png'),(40,60))
pygame.transform.scale(pygame.image.load('D2.png'),(40,60))
pygame.transform.scale(pygame.image.load('D3.png'),(40,60))
moveRight=[pygame.image.load('R1.png')、pygame.image.load('R2.png')、pygame.image.load('R3.png')]#帧列表
moveLeft=[pygame.image.load('L1.png')、pygame.image.load('L2.png')、pygame.image.load('L3.png')]#帧列表
moveUp=[pygame.image.load('U1.png')、pygame.image.load('U2.png')、pygame.image.load('U3.png')]#帧列表
moveDown=[pygame.image.load('D1.png')、pygame.image.load('D2.png')、pygame.image.load('D3.png')]#帧列表
character=pygame.image.load('D2.png')#标准帧
bg=pygame.image.load('Grass.png')#背景
character=pygame.transform.scale(角色,(40,60))
类播放器(对象):
定义初始值(自、x、y、宽度、高度):
self.x=x
self.y=y
self.width=宽度
自我高度=高度
self.vel=5
self.left=False
self.right=False
self.down=False
self.up=False
self.moveCount=0
def抽签(自我,赢):
如果self.moveCount+1>=9:#如果move大于或等于9
self.moveCount=0
如果self.left:
win.blit(moveLeft[self.moveCount//3],(self.x,self.y))#通过帧整数除法(MOD),1,2,3,因为每个移动3帧。
self.moveCount+=1
elif self.right:
win.blit(moveRight[self.moveCount//3],(self.x,self.y))#执行帧整数除法(MOD),1,2,3,因为每个移动3帧。
self.moveCount+=1
elif self.up:
win.blit(moveUp[self.moveCount//3],(self.x,self.y))#通过帧整数除法(MOD),1,2,3,因为每个移动3帧。
self.moveCount+=1
elif self.down:
win.blit(moveDown[self.moveCount//3],(self.x,self.y))#通过帧整数除法(MOD),1,2,3,因为每个移动3帧。
self.moveCount+=1
其他:
win.blit(角色,(self.x,self.y))#如果角色是站着的,则在其位置绘制角色
#主要
def重画游戏窗口():
blit(背景,(0,0))#在坐标0,0处生成背景
男子平局(胜利)
pygame.display.update()
男子=运动员(920240,40,60)
运行=真
while run:#while循环
pygame.time.delay(25)#帧速率为40(毫秒)
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:#如果按x,则退出
运行=错误
keys=pygame.key.get_pressed()#定义按下的键
如果键[pygame.K_LEFT]和man.x>man.vel:#检查边框和按钮是否按下
man.x-=man.vel
左=真
对=错
elif键[pygame.K_RIGHT]和man.x<1280-man.width:#检查边框和按钮是否按下
man.x+=man.vel
正确的
左=假
elif键[pygame.K_UP]和man.y>man.vel:#检查边框和按钮是否按下
man.y-=man.vel
正确的
倒下
elif键[pygame.K_DOWN]和man.y<720-man.height:#检查边框和按钮是否按下
man.y+=man.vel
真的
错
否则:#这是为了防止玩家不移动
左=假
对=错
错
倒下
man.moveCount=0
重画游戏窗口()
pygame.quit()
有两个问题。第一个在
播放器中。绘制

class播放器(对象):
# [...]
def抽签(自我,赢):
如果self.moveCount+1>=9:
self.moveCount=0
#