Pygame Platformer-随机产卵的敌人

问题描述 投票:1回答:1

我试图随机将敌人产生到我的平台游戏中时遇到问题。我有一个具有class Enemy(pygame.sprite.Sprite):__init__功能的敌人类move(self)。目前我已经单独定义了敌人的每个实例:

 enemy1 = Enemy(210,515,"Enemy.png")
 enemy2 = Enemy(705,515,"Enemy.png")
 enemy3 = Enemy(1505,515,"Enemy.png")

在主游戏循环期间,我将每个实例附加到一个组:

enemy_list = pygame.sprite.Group()
        enemy_list.add(enemy1)
        enemy_list.add(enemy2)
        enemy_list.add(enemy3)

然而,我宁愿随机时间在一个随机的位置产生的能量,所以我想我可以做这样的检查:

if random.randrange(0,100) < 1:
                spawnEnemy = Enemy(400, 515, "Enemy.png")

我的问题是我不知道如何不将随机敌人追加到敌人名单上。有任何想法吗?

python random pygame spawning
1个回答
0
投票

如果我正确,坐标将被传递到class Enemy(pygame.sprite.Sprite):进行实例化

在这种情况下,随机定位可以通过以下方式完成:

enemy4 = Enemy(random.randrange(100,1000),random.randrange(100,1000),"Enemy.png")
enemy_list.add(enemy4)

如果您无法对敌方标识符进行硬编码,请尝试直接添加到敌方组列表而不进行协助:

enemy_list.add(Enemy(random.randrange(100,1000),random.randrange(100,1000),"Enemy.png"))
© www.soinside.com 2019 - 2024. All rights reserved.