AS3.0像素级碰撞检测
像素级别的碰撞检测工具,AS3.0 的老用户都遇到过 —— 精度不够,总是“擦边”就判定撞上了,别提多烦。这套工具里封装了全静态函数,用起来是真方便,拖进项目里,几行代码就搞定,适合做复杂动画、游戏角色检测这类场景。
像素检测的原理也不复杂,说白了就是先判断两个对象是否大致重合,再从每个像素去对比透明度。你只要调用像hitTestPixel(obj1, obj2)
这种静态方法,不用管底层逻辑,响应也快。
我自己在做侧滚动作类游戏时用过几次,角色碰撞检测精准度高多,比 bounding box 靠谱太多。尤其是在不规则形状的碰撞时,优势。
如果你项目里有类似需求,可以顺手参考下像素碰撞检测这篇文章,讲得挺细。还可以搭配FLASH 碰撞检测类库用,扩展性更强。
哦对了,虽然代码简单,但别忘了确保对象已经缓存为BitmapData
,不然检测会失效。如果你用的是MovieClip
动态内容,记得先用draw()
方法转一下。
7.7KB
文件大小:
评论区