pygame – 用鼠标点击杀死所有精灵的问题

我正在做一款射击游戏,你作为一个玩家可以看到整个战场,你的任务是杀死从左边跑到右边的敌人。每一次鼠标点击都是一次射击,应该杀死一个敌人,但是当有几个敌人在一个地方时,他们都会被一次鼠标点击杀死。我使用pygame.sprite.Group来处理敌人。

def events(self):
    for event in pg.event.get():
        if event.type == pg.QUIT:
            self.__running = False
        if event.type == pg.MOUSEBUTTONDOWN and event.button == 1:
            pos = pg.mouse.get_pos()
            if self.player.shot():
                for enemy in self.enemies:
                    if enemy.rect.collidepoint(pos):
                        enemy.decreaseHp(self.player.getDamage())

有什么办法可以在他们的部分精灵有相同坐标时,用鼠标单点杀死单个精灵?

解决方案:

如果你只想杀死1个敌人,那么你的任务就是杀死敌人。break 在第一个敌人被射杀后的循环。

for enemy in self.enemies:
    if enemy.rect.collidepoint(pos):
        enemy.decreaseHp(self.player.getDamage())
        break

给TA打赏
共{{data.count}}人
人已打赏
未分类

使用Javascript更改外部Web应用程序中的值

2022-9-13 13:23:37

未分类

Selenium (python)在抓取许多页面时崩溃 (50+)

2022-9-13 13:23:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索