【发布时间】:2016-01-29 18:44:28
【问题描述】:
我已经发表了几篇关于 pygame 碰撞的文章,这里还有一篇。我为帖子的“垃圾邮件”道歉,但这些错误对我来说很奇怪。另外,我正在与一个小组合作,所以我不确定问题出在我制作的代码还是其他人制作的代码中。
话虽如此,这里是我们 github 的链接:https://github.com/drexel-game-devs/Project_Folder
我引用的所有代码都在代码文件夹中,在 Player Assets 下。
我负责创建 Physics_Engine 类,这是处理碰撞的地方。该函数在 Player_Assets 类中调用,其中存储了 Player 类。现在,碰撞被检测到并以一种有问题的方式处理。如果我从右侧接近一个物体,玩家会停下一段时间,然后传送穿过该物体。从顶部接近一个物体更奇怪:玩家将“滑”离该物体,然后从它的左/右侧爬下来,然后从物体的“底部”掉下来。
任何帮助将不胜感激。提前谢谢你。
【问题讨论】:
-
当玩家碰撞物体时,您似乎为某个变量(可以改变位置)添加了一些值 - 但您不应该这样做。当此变量足够大(大于碰撞对象)时,玩家位置(加上此变量)为您提供对象另一侧的位置。也许您在玩家碰撞对象时将
speed添加到x,但您更正位置只是为了绘制它.
标签: python pygame collision-detection collision game-physics