By -
陳 思敬
ActionScript onClipEvent
今天反编译一套广告素材,发现了编写规整的点击监测和流量监测代码,在此之前,我还很少使用 onClipEvent 函数。借此机会,查阅了 Adobe 官方文档,将关键内容整理出来。
代码如下,Button.onRelease 为点击监测片断,onClipEvent 为流量监测片断。
var ct:String = "http://ad.doubleclick.net/ddm/trackclk/N6708.139326.PCLADY.COM.CN/B8443862.114176850;dc_trk_aid=287169844;dc_trk_cid=60869237?http://www.giorgioarmanibeauty.cn/armani/_zh/_cn/landing/designer/index.aspx?utm_source=pclady&utm_medium=114176850&utm_term=Display&utm_content=pclady&utm_campaign=LPD-GA-MU-Designer Cream Campaign-20141218_DIG"; var it:String = "http://ad.doubleclick.net/ddm/trackimp/N6708.139326.PCLADY.COM.CN/B8443862.114176850;dc_trk_aid=287169844;dc_trk_cid=60869237;ord=[timestamp]"; _btn.onRelease = function () { getURL(ct, "_blank"); trace("点击触发"); }; onClipEvent (load) { sendData = new LoadVars(); receiveData = new LoadVars(); sendData.sendAndLoad(_parent.it,receiveData,"POST"); receiveData.onLoad = function(success:Boolean) { if (success) { trace("曝光触发"); } else { trace("曝光未触发"); } }; }
on 处理函数
参数
mouseEvent:Object ― mouseEvent 是一个称为事件 的触发器。当事件发生时,执行该事件后面大括号 ({ }) 中的语句。可以为 mouseEvent 参数指定下面的任一值:
- press 当鼠标指针滑到按钮上时按下鼠标按键。
- release 当鼠标指针滑到按钮上时释放鼠标按键。
- releaseOutside 当鼠标指针滑到按钮上时按下鼠标按键,然后在释放鼠标按键前滑出此按钮区域。press 和 dragOut 事件始终在 releaseOutside事件之前发生。
- rollOut 鼠标指针滑出按钮区域。
- rollOver 鼠标指针滑到按钮上。
- dragOut 当鼠标指针滑到按钮上时按下鼠标按键,然后滑出此按钮区域。
- dragOver 当鼠标指针滑到按钮上时按下鼠标按键,然后滑出该按钮区域,接着滑回到该按钮上。
- keyPress ” < key > ” 按下指定的键盘键。对于该参数的 key 部分,请指定一个键常数,如”动作面板”中的代码提示所示。可以使用这个参数来截取某个按键,也就是说,覆盖所指定键的任何内置行为。该按钮可以在您的应用程序中的任何地方,可以在舞台上或不在舞台上。此技术的一个局限是不能在运行时应用on() 处理函数;您必须在创作时应用它。请确保选择”控制”>”禁用快捷键”,否则在使用”控制”>”测试影片”测试应用程序时某些具有内置行为的键不会被覆盖。
若要查看键常数列表,请参阅 Key 类。
按钮
事件摘要
事件 | 说明 |
---|---|
onDragOut = function() {} | 当在按钮上单击鼠标按键,然后将鼠标指针拖动到按钮之外时调用。 |
onDragOver = function() {} | 当用户在按钮外部按下鼠标按键,然后将鼠标指针拖动到按钮之上时调用。 |
onKeyDown = function() {} | 当按钮具有键盘焦点而且按下某按键时调用。 |
onKeyUp = function() {} | 当按钮具有输入焦点而且释放某按键时调用。 |
onKillFocus = function(newFocus: Object) {} |
当按钮失去键盘焦点时调用。 |
onPress = function() {} | 当按下按钮时调用。 |
onRelease = function() {} | 当释放按钮时调用。 |
onReleaseOutside = function() {} | 在这样的情况下调用:在鼠标指针位于按钮内部的情况下按下按钮,然后将鼠标指针移到该按钮外部并释放鼠标按键。 |
onRollOut = function() {} | 当鼠标指针移至按钮区域之外时调用。 |
onRollOver = function() {} | 当鼠标指针移过按钮区域时调用。 |
onSetFocus = function(oldFocus: Object) {} |
当按钮接收键盘焦点时调用。 |
onClipEvent 处理函数
参数
movieEvent:Object ― movieEvent 是一个称为事件 的触发器。当事件发生时,执行该事件后面大括号 ({}) 中的语句。可以为 movieEvent 参数指定下面的任一值:
- load 影片剪辑一旦被实例化并出现在时间轴中,即启动此动作。
- unload 在从时间轴中删除影片剪辑之后,此动作即在第 1 帧中启动。在将任何动作附加到受影响的帧之前处理与 Unload 影片剪辑事件关联的动作。
- enterFrame 以影片剪辑的帧频连续触发该动作。在将任何帧动作附加到受影响的帧之前处理与 enterFrame 剪辑事件关联的动作。
- mouseMove 每次移动鼠标时启动此动作。使用 _xmouse 和 _ymouse 属性来确定鼠标的当前位置。
- mouseDown 当按下鼠标左键时启动此动作。
- mouseUp 当释放鼠标左键时启动此动作。
- keyDown 当按下某个键时启动此动作。使用 Key.getCode() 检索有关最后按下的键的信息。
- keyUp 当释放某个键时启动此动作。使用 Key.getCode() 方法检索有关最后按下的键的信息。
- data 在 loadVariables() 或 loadMovie() 动作中接收到数据时启动该动作。当与 loadVariables() 动作一起指定时,data 事件只在加载最后一个变量时发生一次。当与 loadMovie() 动作一起指定时,则在检索数据的每一部分时,data 事件都重复发生。
示例:
onClipEvent (keyDown) { if (Key.getCode() == Key.RIGHT) { this._parent.nextFrame(); } else if (Key.getCode() == Key.LEFT) { this._parent.prevFrame(); } }