辋川集

木末芙蓉花,山中发红萼,涧户寂无人,纷纷开且落

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:ObjectmouseEvent 是一个称为事件 的触发器。当事件发生时,执行该事件后面大括号 ({ }) 中的语句。可以为 mouseEvent 参数指定下面的任一值:

  • press 当鼠标指针滑到按钮上时按下鼠标按键。
  • release 当鼠标指针滑到按钮上时释放鼠标按键。
  • releaseOutside 当鼠标指针滑到按钮上时按下鼠标按键,然后在释放鼠标按键前滑出此按钮区域。pressdragOut 事件始终在 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:ObjectmovieEvent 是一个称为事件 的触发器。当事件发生时,执行该事件后面大括号 ({}) 中的语句。可以为 movieEvent 参数指定下面的任一值:

  • load 影片剪辑一旦被实例化并出现在时间轴中,即启动此动作。
  • unload 在从时间轴中删除影片剪辑之后,此动作即在第 1 帧中启动。在将任何动作附加到受影响的帧之前处理与 Unload 影片剪辑事件关联的动作。
  • enterFrame 以影片剪辑的帧频连续触发该动作。在将任何帧动作附加到受影响的帧之前处理与 enterFrame 剪辑事件关联的动作。
  • mouseMove 每次移动鼠标时启动此动作。使用 _xmouse_ymouse 属性来确定鼠标的当前位置。
  • mouseDown 当按下鼠标左键时启动此动作。
  • mouseUp 当释放鼠标左键时启动此动作。
  • keyDown 当按下某个键时启动此动作。使用 Key.getCode() 检索有关最后按下的键的信息。
  • keyUp 当释放某个键时启动此动作。使用 Key.getCode() 方法检索有关最后按下的键的信息。
  • dataloadVariables()loadMovie() 动作中接收到数据时启动该动作。当与 loadVariables() 动作一起指定时,data 事件只在加载最后一个变量时发生一次。当与 loadMovie() 动作一起指定时,则在检索数据的每一部分时,data 事件都重复发生。

示例:

onClipEvent (keyDown) {
 if (Key.getCode() == Key.RIGHT) {
 this._parent.nextFrame();
 } else if (Key.getCode() == Key.LEFT) {
 this._parent.prevFrame();
 }
}

Leave a Reply

Your email address will not be published.
*
*