3 回答

TA貢獻(xiàn)1993條經(jīng)驗(yàn) 獲得超6個(gè)贊
您必須創(chuàng)建一個(gè)ZombieList對(duì)象,您可以將Zombie對(duì)象附加到其中。
您可以添加一個(gè)類的對(duì)象向類Zombie:
class Zombie(object):
zombies = ZombieList()
def __init__(self):
self.attack = 3
self.speed = 5
self.health = 30
self.image = pygame.image.load("Assets/green zombie.png")
def render(self):
Zombie.zombies.list.append(self)

TA貢獻(xiàn)1850條經(jīng)驗(yàn) 獲得超11個(gè)贊
您不能附加到類列表。您需要附加到類的實(shí)例。例如:
class ZombieList:
def __init__(self):
self.list = []
for zombie in self.list:
ds.blit(zombie.image, (1000, random.randint(10, 790)))
my_zombie_list = ZombieList() # create an instance
class Zombie(object):
def __init__(self):
self.attack = 3
self.speed = 5
self.health = 30
self.image = pygame.image.load("Assets/green zombie.png")
self.zombieList = []
def render(self):
my_zombie_list.list.append(self) # refer to the previously created instance

TA貢獻(xiàn)1793條經(jīng)驗(yàn) 獲得超6個(gè)贊
沒有屬性list在ZombieList。只有在您創(chuàng)建了一個(gè)ZombieListthrough eg 之后,self.zombie_list = ZombieList()您才能通過 使用您的列表self.zombie_list.list。
盡管如此,我想這可能不是您想要的設(shè)計(jì):我想您不希望ZombieList每個(gè)人都有一個(gè)Zombie. 相反,初始化Zombie對(duì)象的人也應(yīng)該負(fù)責(zé)維護(hù)ZombieList實(shí)例。
您還會(huì)遇到其他問題。例如,在循環(huán)
self.list = []
for zombie in self.list:
ds.blit(zombie.image, (1000, random.randint(10, 790)))
永遠(yuǎn)不會(huì)有任何影響,因?yàn)閟elf.list在執(zhí)行該代碼時(shí)始終為空(因?yàn)槟言谏弦恍袑⑵涠x為空)。
添加回答
舉報(bào)