[碰撞实现\数学实现非mc检测]
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-13
今次发1个用于实现各种碰撞的组件,和扩展和使用这个组件的代码。 恩- -以前发过1个低版本的,今次更新1下最新的~~。。 首先看个演示吧: 点击浏览该文件 例子中是4种不同的碰撞模型:hitArea检测,ball,plane,point 文件包 点击浏览该文件 包内物品简介- -: 例子文件包括example.fla example.swf 组件文件reflector.swc 类声明包为目录xp 4个组件应用代码和付赠1块LOGOreflector组件中包装了用于实现碰撞的基类xp.gameLib.reflect.Reflector(和其他很多个class- -) xp.gameLib.reflect.Reflector实现了追踪检测的目标,纪录数据等功能,而碰撞检测的具体功能由用户编写自己的代码实现。这次的dd里包含了4个已经实现好的比较常用的碰撞: 点对hitArea的碰撞检测; 点对球形物体的碰撞; 点对平板的碰撞; 点对点的碰撞; 分别对应4个as文件: HitAreaReflector.as ArcReflector.as PlaneReflector.as PointReflector.as 碰撞模型简介 和上次发的东西类似,碰撞的使用不需要用户进行更多的操作,只需要处理由reflector发出的事件即可。 点对hitArea的碰撞适用于很少的环境,因为reflector设计的目标是精确的碰撞计算,使用hitArea就失去了意义。这里只是给个例子。。= = 点对球的碰撞中,ArcReflector创建了1个圆形的区域,并计算运动的点与这个园的碰撞,并根据结果发出相应的事件。 点对平面的碰撞中,PlaneReflector创建1个条线来检查穿过这条线的运动的点。 点对点的碰撞中,PointReflector创建1个有1定有效范围的点,来检测运动的点与它的碰撞 数学计算虽然增加了精确度,但也使程序变慢。这几个模型适用于碰撞较少的场合,支持超高速运动而不会发生穿过的情况。 使用组件的代码范例 包内的as文件是组件的实用示例。这个组件没有提供什么实际功能,只是包装几个class的功能。虽然放在场景中也会显示出参数面板。。。- -。表被迷惑。。 组件包装的主要的1个类是xp.gameLib.reflect.Reflector,也就是我们需要继承的类。其他还有很多零碎。 每个as文件都是1个类,他们都继承于xp.gameLib.reflect.Reflector,每个类需要实现2个主要的函数来实现碰撞功能: collisionCalculate可以翻看包内的几个as文件,具体用法后面说。。 使用方法: 由于实现这个组件的代码比较分散,所以用组件的形式包装了所有需要用到的类,10分类似于jar文件呢~~
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 浅谈飞机游戏碰撞检测代码的处理方式下一篇: 镜头推拉的效果
关于[碰撞实现\数学实现非mc检测]的所有评论