最近,聊天室里的很多朋友都在考虑这个圆内小球碰撞反弹的效果,花了几天的时间,终于完成了,提供出来供大家参考。
其实代码的结构并不复杂,但是求反射角的过程却是个很痛苦的过程。在初步分析之后,我将碰撞区域划成四个大的项限,每个项限中根据入射角的不同又分成四个区域,最后推导结果显示,只需要分成三个区域就可以了,这样一共分成4x3共12个区域来写出运算公式。
在计算出射速度时,我全部采用锐角来计算,并且自己决定速度的正负号,这样做的目的是运算可靠,(数学函数搞不清楚也是原因之一 ^_^)。最后的效果如下所示,由于flash的精度不够的关系,反射点有些不大精确,大致看起来还不错。^_^
点击下载该文件