【学习笔记】AS3 碰撞检测之像素检测

1.对于位图,碰撞检测很简单。把位图载入到 BitmapData 中,用 BitmapData 的 hitTest 函数检测碰撞,关于该函数可以看 AS3 语言参考。

2.对于非位图,比如 Sprite。可以创建几个 BitmapData ,在每一帧清空 BitmapData,同时用 draw 函数把要进行碰撞检测的对象绘入 BitmapData,hitTest 检测碰撞。也就是说每一帧都要重绘 BitmapData。

这种方法碰撞检测效率不高。如果有许多物体,那每一帧进行碰撞检测的次数就会呈平方阶增长,也就是说当有100个物体,每一帧就要检测 10000 次(汗),足够让你的 FLASH 崩溃了。

对大量物体的碰撞检测必须优化算法。

3.大量物体碰撞检测

未完待续

参考资料:《AdvancED ActionScript 3.0 Animation》

 

posted @ 2009-08-19 12:19  李长健  阅读(686)  评论(0编辑  收藏  举报