Pygame跳线碰撞检测不工作

2024-09-30 06:19:32 发布

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

我正在尝试制作一款类似于谷歌chrome的游戏,当我的a级计算机科学课程的网络瘫痪时。我遇到了一个关于碰撞检测的问题,非常感谢您的帮助

当我试图声明多个平台停止玩家移动(碰撞检测)时,所有平台都停止玩家移动。但当我只有一个平台阻止玩家移动时,它会起作用

我所有的代码都在这里:https://github.com/VincenzoLaRoche/ComputerScienceCourseWork


Tags: 代码https网络githubcom声明游戏玩家
1条回答
网友
1楼 · 发布于 2024-09-30 06:19:32

您的问题是,您正在处理完全独立的平台。因此,如果你站在其中一个上面,你不会碰到另一个,所以它会让你摔倒。要停止此操作,必须修改t1o播放器方法collision_detectdo,如下所示:

def collision_detect(self, platform):
    if self.x > platform.x and self.x < platform.x2:
        if self.y + 40 == platform.y:
            return True
        else:
            return False

def do(self):
    self.keys()
    self.move()
    self.draw()
    c1 = self.collision_detect(platform(0, 500, 800, 10))
    c2 = self.collision_detect(platform(0, 480, 400, 10))
    if c1 or c2:
        self.yVel = 0
        Constants.CANJUMP = True
    else:
        self.yVel = 5
        Constants.CANJUMP = False

相关问题 更多 >

    热门问题