貌似有一段时间没更新2dtoolkit系列了,这段时间一直在忙着其他事情,今天开始继续这个插件系列的教程,网上搜索,貌似关于这个插件的教程无非还是跟官方的教程很类似,有的甚至都没有自己照着亲手实践一遍就直接Copy,对这样博客的文章感觉起步到任何作用,对自己没有什么深刻的理解,对他人来说也只是搜出来一份相同品,也没什么收获,还都浪费了大家的时间!所以我决定通过这个小游戏项目来驱动式的学习这个2d插件,今天我看了之前写的系列一和系列二的文章,貌似还收到了一些不错的效果,不少人鼓励我继续写下去,51CTO,CSDN,9Teach等各大技术论坛都纷纷转载并且将这个系列推到了论坛首页,今天收到份邮件,惊讶的发现原来我的文章也上头条了,这无疑是对我的文章的一种肯定,我将更有信心坚持下去!
更多精彩教程请关注我的微博
但如果学习2dtoolkit插件仅仅是看官方的文档操作,不通过自己去动手实践,不注意细节可能是会碰到许多问题,这不我今天是深有感触哇!一直到吃晚饭之前都是摸索一个问题,就是关于碰撞检测的问题,我在小花上添加了自定义的不规则碰撞器,这里可以参考系列一(点击打开)如何创建带有碰撞器的精灵集合的,其实在那儿操作的时候就留了一个“隐患”,没注意一个细节,导致今天很纠结,其实也不是没注意了,只是那时候也不知道要注意这么一点!
还是回到之前的创建精灵集合,按照之前的操作,来到这一步
切记在选择自定义Collider的时候要勾选上Convex,这是为什么呢?或许有人要问。原因:
meshcollider不能和非凸边形发生碰撞
Mesh Colliders cannot collide with each other unless they are marked as Convex. Therefore, they are most useful for background objects like environment geometry.
我猜想可能是跟碰撞算法有关,具体底层的碰撞算法是怎么写的,我只能是猜测,计算的是凸多边形之间的碰撞检测,这里自定义碰撞边缘,默认的就是MeshCollider碰撞,BoxCollider碰撞是矩形框碰撞,其实也就是特殊的凸多边形了,但无疑碰撞的没那么精确而已。就是因为这个,我看论坛还有人家博客上写的这个2dtoolkit教程都没有这个提示,这让新手会很纠结!这点我比较欣赏雨凇大哥,写博客写的很详细!赞一个!但搜关于这个插件的教程,他也还没写,所以就只能自己摸索了,哈哈,正好也给我了这么个自己机会!画好不规则边框以后,点击Commit提交,然后
下面我们来进行碰撞检测,