reflector 碰撞平板
|
* component *
处理。 设置对象: comp_instance.addTarget(target_mc:MovieClip);
监测1次碰撞 :_global.refreshReflector();
使能:事件列表: on(hit) on(collide) on(passed) 组件参数设置:
clipName: 用于显示视觉效果的元件连接名 e: 弹性系数,当碰撞发生时,根据这个系数确定target_mc的运动。>0则反弹,<0则穿过。 xforce: 当碰撞时,附加给target_mc的力,沿平板切线。 yforce: "" "" "".... 沿平板法向。 属性: top, left, right, bottom xMax,xMin: 以及同组件参数名的对应属性也可以直接访问。 方法: removeTarget(o:MovieClip):Void enableMe(e:Boolean):Void testCollision():Void isPassed(v1,v2):Boolean update():Void clip事件: onXXX事件: 这几个事件的含义同上,不同在于带有eventObject的参数,eventObject有3个属性: type: 事件名字,如"onHit" 监听: removeEventListener(..) 选中p,输入 onClipEvent(load){ _root.r1.addTarget(this); this.onHit=function(eo){ trace(eo.target); } } onClipEvent (enterFrame) { _x += (_root._xmouse - _x) * .2; _y += (_root._ymouse - _y) * .2; _global.refreshReflector(); } 选中r1,输入: onClipEvent(load){ this.rv=2; this.onHit=function(eo){ this.rv=eo.hitPosition*.1; } } onClipEvent(enterFrame){ this._rotation+=this.rv; this.rv*=.97; } 运行可以看到碰撞的效果,具体见示例源文件 |

点击浏览该文件
点击浏览该文件