python - Pygame Platformer - 随机生成敌人
问题描述
我目前在尝试将敌人随机生成到我的平台游戏中时遇到问题。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")
我的问题是我现在不知道如何将随机 eney 附加到enemy_list。有任何想法吗?
解决方案
如果我正确,则将坐标传递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"))