1

我正在尝试创建一个游戏,如果您杀死一个暴徒,则会从屏幕上的某些坐标再产生两个。这是我到目前为止所拥有的:

if Mob.hp == 0:
    Mob = MOB([50, 50])
    mobs.add(Mob)
    Mob.kill()
    Mob.image = ENEMY

Mob是单个 Mob 并且mobs是 Mobs 组。我怎样才能得到它,以便它移除一个被杀死的暴徒,并用另外两个替换它?每次杀死暴徒时都需要重复此操作

[更新]

我对代码进行了一些更改,在此处列出(谢谢@DominicKexel):

if Mob.hp == 0:
    Mob.kill()
    Mob1 = MOB([50, 50])
    Mob2 = MOB([100, 300])
    mobs.add(Mob1, Mob2)

现在两个新的生物将在列出的坐标中重生,但只有一个保持可见并做它应该做的事情。我做错了什么?

4

1 回答 1

0

调用kill()aSprite足以将其从Group. 如果您想再创建两个Sprites,则必须创建两个实例并将它们都添加到您的Group.

if Mob.hp == 0:
    # remove the old mob from the group
    Mob.kill() 

    # create two new ones
    m1, m2 = MOB([50, 50]), MOB([51, 50]) 

    # add both to the group
    mobs.add(m1, m2) 

(我假设Mob是 的一个实例MOB,它是 ; 的子类,Sprite并且mobsGroup。)

于 2013-07-09T13:45:57.023 回答