2012-04-25 94 views
0

我想在pyGame中实现一个Mario类型的平台。碰撞检测工作与多边形没有问题。我很好奇我如何让玩家能够跳过他身上的地板,这是一个漂浮在空中的多边形。跳转通过多边形/地板碰撞检测

关于如何处理这个问题的理论是什么?

+3

可能作为一个精灵/块财产,并在碰撞检测将被检查explicitly-如果玩家有一个正Y速度,用“跳通过”物体碰撞时,忽略此冲突。处理这种情况可能比将这组块分割成跳跃式和非跳跃式更快。 – jozzas 2012-04-26 00:03:45

+1

展开jozzas评论:继续忽略两个对象之间的任何碰撞,直到它们不再发生碰撞。 – Darthfett 2012-04-26 00:12:46

+0

@Darthfett,继续忽略的是我脑海中丢失的那条信息。我认为这会有所帮助。 – 2012-04-26 00:22:36

回答

1

你可以这样做,当你的角色碰到一个块时,它们以当前速度向上移动,直到它们不再与多边形碰撞。这样,当你从上面打地面时,你不会向下穿过它,但是当你触到底部时,就是这样。我会建议一个while循环设置为碰撞函数。