Pygame 图像碰撞

Pygame image collision

我有一个 pygame 程序,中间有一张脸。我想让程序做的是在屏幕上放一堆不规则的对象。有些是圆圈,有些是冲浪板、椅子、香蕉等物体的剪裁图片。用户可以将物体四处拖动,它们会相互碰撞,中间的脸也会碰撞,因此无法通过它们。谁能告诉我该怎么做?谢谢!

-EDIT- 无法通过,我的意思是它们会沿着对象的边缘移动,试图跟随鼠标。

您正在寻找的是通常由所谓的物理引擎提供的功能。对于非常基本的形状,自己编写基本功能代码就足够简单了。 (二维形状最简单的情况是圆之间的碰撞检测)。

碰撞检测很快就会变得非常困难,特别是如果你想以相当快的速度进行检测(比如你所描述的那种项目需要的),尤其是当你处理任意的,不规则形状(您的描述似乎表明了这一点)。因此,除非您有兴趣学习如何编写优化的碰撞检测系统代码,否则我建议您 google 使用 python 物理引擎。我从来没有用过,所以我不能亲自推荐一个。

祝你好运!