在pygame组中添加和删除

时间:2013-07-09 13:34:38

标签: python pygame

我正在尝试创建一个游戏,如果你杀死一个怪物,另外两个从屏幕上的某些坐标产生。以下是我到目前为止的情况:

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

Mob是个体Mob,mobs是Mobs组。我如何才能获得它,以便移除一个暴徒,并用另外两个替换它?每次暴徒被杀时都需要重复

[UPDATE]

我对这里列出的代码做了一些更改(谢谢@DominicKexel):

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

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

1 个答案:

答案 0 :(得分:0)

kill()上拨打Sprite就足以将其从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) 

(我假设MobMOB的一个实例,它是Sprite的子类;而mobsGroup。)