C++ 2D 像素完美碰撞检测库?

Posted

技术标签:

【中文标题】C++ 2D 像素完美碰撞检测库?【英文标题】:C++ 2D pixel perfect collision detection libraries? 【发布时间】:2011-02-28 06:11:43 【问题描述】:

与 SDL 和 QT4 集成的可用于执行此操作的库有哪些。 SDL 或 QT 中是否有任何现有的软件包可以轻松实现这一点?我正在寻找一个易于使用的库,它可以让我拥有这样的功能

http://www.coreyoneil.com/portfolio/index.php?project=5

我正在寻找在您声明的库中实现像素完美碰撞检测的 Api/类示例/教程的链接。

编辑:请检查上面的链接 明白我所说的像素是什么意思 完美。

【问题讨论】:

在 box2d 论坛中,我发现了这个关于像素完美碰撞检测的主题box2d.org/forum/…,这表明我正在寻找并链接到的那种实现对于 box 2d 是不可行的/可能的 为什么需要像素完美?只需以数学方式表示形状并使用任何现有的库,如 Box2D。 @unwind 是的。我打赌你能理解为什么有人会想要这种功能。库/类在 actionscript3 中易于使用。您将对象传递给处理整个事情的碰撞数组。只有在看到上面的链接后,我才真正开始欣赏像素的完美性。我确信在 c++ 中已经有现有的库可以做到这一点。 这里是链接的备份:replay.waybackmachine.org/20090618194120/http://… 或者更好的这个:replay.waybackmachine.org/20090317074047/http://… 和谷歌上的代码:code.google.com/p/collisiondetectionkit 【参考方案1】:

Qt 确实在其QGraphicsItem 类中提供了碰撞测试。它支持基于路径的形状。我不确定它是否符合您的像素要求。

【讨论】:

嘿,这很有趣。肯定会检查它的实现。【参考方案2】:

看看这个GameDev 相关的帖子(Reni2D 是 C 和 OpenGL,所以它应该适合 SDL)。

在HAAF's 引擎中,他们宣传它即将推出,所以也许值得一试。

【讨论】:

【参考方案3】:

我推荐你这个Allegro Perfect Collision

Allegro.cc 有一个非常有用的社区。​​p>

祝你好运!

【讨论】:

【参考方案4】:

PoxelColl 提供像素级完美碰撞检测,并支持旋转和缩放等基本变换。支持 C++11 端口,因此应该兼容 SDL 和 QT。

【讨论】:

以上是关于C++ 2D 像素完美碰撞检测库?的主要内容,如果未能解决你的问题,请参考以下文章

SDL 中的每像素 2D 圆形碰撞检测

ActionScript 3 像素完美碰撞检测AS3

“等一下,我碰!”——常见的2D碰撞检测

像素完美碰撞排斥/旋转响应

unity3d 碰撞检测

设置碰撞检测,然后在 2D 游戏中处理碰撞