transform.scale()无法处理新对象



所以我试图为屏幕上的多个对象做一个黏液动画,其中一个对象一切都很完美,当我添加另一个对象时,两个对象的一些图像都会以某种方式转换回原来的大小,尽管一开始所有的东西都很完美。类构造函数:

def __init__(self,image=[],rate=ra.randint(1,6),anim=0,mov=0):
self.mov=mov
self.img=image
self.rate=rate
self.anim=anim
for i in range(1,9):
self.img+=[pygame.image.load("../graphics/enemies/slimes/slime_blue/slime_blue"+str(i)+".png")] #im adding every image in a list for each object here
self.img[i-1]=pygame.transform.scale(self.img[i-1],(dis[0]/25,dis[0]/25)) #im adjusting every image to the size i want
Enemy.__init__(self,rarity=ra.random(),strength=ra.randint(2,19),defence=ra.randint(0,10),life=ra.randint(20,50),speed=ra.randint(1,10))

添加新对象的过程:

if ra.randint(1,50)==1:
slimes+=[Slime()]

动画过程:

def animate(self,pos):      
box_slime=screen.blit(self.img[self.anim],pos)
if self.anim<len(self.img) -1 :
self.anim+=1
else:
self.anim=0
return box_slime 

这修复了它,我真的不确定为什么,但是的。

for i in range(1,9):
img=pygame.image.load("../graphics/enemies/slimes/slime_blue/slime_blue"+str(i)+".png")
img=pygame.transform.scale(img,(dis[0]/25,dis[0]/25))
self.img.append(img)

最新更新