pygam中球与矩形的碰撞

2024-09-27 07:32:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试制作经典的街机游戏《阿卡诺德》,但我遇到了球和砖块之间碰撞的问题。目前我只使用经典碰撞(比如在乒乓球中):

def colision(self, objetivo):
    if self.rect.colliderect(objetivo.rect):
        self.speed[1] = -self.speed[1]

def colision2(self, objetivo):
    if self.rect.colliderect(objetivo.rect):
        self.speed[0] = -self.speed[0]

我遇到的问题是,当球击中砖块的不同部位时,有时它弹错了方向,最后“吃”的比砖头还多。我使用了两种不同类型的碰撞,因为我添加了边界,并且我也使它与它们一起反弹,但是我不知道如何使程序意识到砖块的哪一面被击中,并根据边使用colision1或{}。在


Tags: rectself游戏ifdefspeed经典乒乓球
1条回答
网友
1楼 · 发布于 2024-09-27 07:32:38

你在用/画一个圆球吗?如果是这样,问题可能是因为您使用了colliderect。当球靠近一块砖时,边界框碰撞的位置与它看起来的稍有不同。尝试使用精灵和碰撞环。在

相关问题 更多 >

    热门问题