精确检测非位图对象碰撞(偷梁换柱)
原理:基于位图的精确碰撞检测
众所周知,目前flash对不规则的非位图对象要实现精确的点检测是比较困难。但是做为程序员,时刻要面对各种可能性。恰如有这样一种情况,要实现精确检测,但是不规则形状的非位图对象,你该怎么办?
大家都知道位图是可以进行精确检测的,那能不能借鉴或者直接使用位图的这个方法呢,答案是肯定的,因为我们看到的及要处理的是非位图显示对象,但是却用了位图的检测方法,因此给人一种错觉像是直接处理非位图显示对象一样,所以我擅自起了个名,叫偷梁换柱。
在此只简间的说下实现原理,不写代码实例。
假设舞台中一个不规则非位图显示对象,要实现精确的点检测,那么你是不是可以把它转成一张位图或者位图数据(很简单,draw下就行了),个人觉得位图数据足够了,第一他不需要显示到舞台中,因为你有原先的那个显示对象,第二,检测方法是位图数据(bitmapdata)的方法(hittest)。如果你能转成位图数据,那这个方法就完成99%,剩下的方法就是写些检测效果,检测事件……等等。
浙公网安备 33010602011771号