为满足项目需求,我用java写了一个生成Box2D b2PolygonShape多边形顶点的工具。
也是一步一步完成的,首先是为1个不规则的sprite图片生成多边形shape轮廓,后来发现如果用Box2D里面的compound概念的话
可以生成比较完美的不规则图片 shape 轮廓,因此,工具升级到1.1,从此支持对不规则的sprite图片进行描点
1.1版完成的时候逛了逛子龙山人的博客,发现ray的教程里面有介绍1个多边形描点工具
发现还不错,
不过让我比较不解的是:生成的竟然是
box2d 以及 chipmunk 引擎的程序代码片段
这个我感觉不是很好,灵活性不够!不过这都是后话了,其实我对自己写的描点工具还是算比较满意的~
下面给个VertexHelper的图:
下面是VertextHelper的用例图,相信还是很容易就能看出怎么使用这个工具的,如果你用过Box2D的话~
以下是我做的工具的几张截图:
这个工具的设计思路还是比较简单的:
①将复杂的图形分割成多个凸多边形(Box2D只支持凸多边形,而且最大8个顶点,如果要超过8个顶点,请修改b2Settings.h头文件)
②这张图片我进行了倒置