如何“删除”后生成另一个精灵

时间:2019-06-11 05:45:13

标签: python pygame

我正在尝试制作一个与项目的蛇游戏类似概念的游戏。我要做到这样,当玩家“吃”“食物”时,另一人随机出现在其他地方。

我从这里和其他来源尝试了一些代码,但是我似乎无法使其运行。总是会有不同的错误。

这是我现在使用的代码。我是从网上获得的,它对这个人有用,但对我却不起作用。我的猜测是list.remove可能是此代码的问题,但我不知道如何编辑它:

food_collide = pygame.sprite.spritecollide(player,food_list,False)

    for food in  food_collide:
        score += 1
        food_list.remove(food)
        all_sprite_list.remove(food)
        food.update()
        all_sprite_list.update()

1 个答案:

答案 0 :(得分:1)

在我看来,杀死前一个Food()实例(被玩家吃掉)后,您再也不会创建它的新实例。因此很明显,该游戏不会产生新的食物。

for food in food_collide的快速修复应该可以起作用:

for food in food_collide:
    score += 1
    food_list.remove(food)
    newfood = Food()
    food_list.add(newfood)
    all_sprite_list.add(newfood)
    all_sprite_list.remove(food)
    food_list.update()
    all_sprite_list.update()