【发布时间】:2013-11-11 15:15:13
【问题描述】:
我需要在我使用 cocos2d 2.1 编写的 iOS 游戏中实现轮廓检测功能 例如用户会给我一张图片(PNG透明):
所以,我需要检测形状多边形点并从中创建 box2d 主体,然后我可以将此图像放入我的 box2d 场景中。
我希望输出 NSMutableArray 具有在图像上检测到的每个多边形的点数组。 PhysicsEditor 也一样,结果如下:
这也是使用 VertexHelper 的结果(显示错误的检测方式,作为一个多边形...):
也是SpriteHelper,但不检测图像的其他部分
我的问题是:我该怎么做?什么方法更好更快? 我在 google 中寻找解决方案,但是我找不到任何适合我需要的解决方案...
【问题讨论】:
-
搜索“轮廓追踪算法”。请记住,您必须确保 Box2D 的顶点逆时针缠绕,并且可能需要将形状拆分为多个形状以确保每个单独的形状都是凸形的。
-
新 box2d box2d.org 具有:“多边形创建现在计算凸包。不再需要对顶点进行排序。”那么,据我所知,逆时针方向没有必要?
-
关于“轮廓追踪算法”——你能指出 iOS 中的一些例子吗?
标签: ios objective-c cocos2d-iphone shapes outline