我试图随机将敌人产生到我的平台游戏中时遇到问题。我有一个具有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")
我的问题是我不知道如何不将随机敌人追加到敌人名单上。有任何想法吗?
如果我正确,坐标将被传递到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"))