在介绍如何实现之前,先介绍一种检测碰撞的方法:
这个是判断两条线段相交的方法。
知道了这个原理,就可以用Cocos2D来实现了。
1,我们要在Cocostudio中要画出有碰撞检测的骨骼的碰撞区域。这中碰撞区域大多是不规则的多边形。
2,在程序中得到我们画出的碰撞区域的所有顶点。
3,将所有得到的顶点组成线段。(我自己封装了一个线的类)
4,遍历线的数组检测碰撞。
画碰撞区域就不说了,官方教程有很多,自己看吧。但是,导出图片的时候需要注意,必须按照1.0得到比例导出,不然,你画的碰撞区域可能与你的骨骼答不上(这个问题可能跟我用的框架有关,为了适应屏幕尺寸,所以对骨骼进行了缩放,最新版没试过不按1.0导出是不是有问题)