鼠标双击效果(AS2类)

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

看论坛有许多关于双击事件的贴子,写了一个AS2类放上来供大家参考。

演示:http://home.goofar.com/Blog_/flash/DbClick.swf

类名称:DbClick.as

代码:

import mx.events.EventDispatcher;

class DbClick extends MovieClip {

private var firstClickTime:Number;

private var lastClickTime:Number;

private var n:Number = 0;

private var dispatchEvent:Function;

private static var _mixin1 = EventDispatcher.initialize(DbClick.prototype);

function DbClick() {

}

private function onLoad():Void {

var onwer:Object = this;

_root.onMouseDown = function(){

onwer.ifDbClick();

}

}

private function ifDbClick():Void {

if ( n == 0 ){

n = 1;

firstClickTime = getTimer();

}else{

n = 0;

lastClickTime = getTimer();

}

//两次点击时间差在300毫秒以内计为双击

if ( Math.abs(lastClickTime - firstClickTime) < 300 ) {

//trace("double click");

//发出事件

this.dispatchEvent({ type:"onDbClick", target:this });

}

}

} 用法:

建立一个空的MC并与该类链接,然后把这个MC放到主场景中,取个名字(本例为myDbClick),在主场景的第一帧加上以下代码:

var myDbClick:MovieClip;

var myObj = new Object();

myObj.onDbClick = function(evtObject:Object):Void{

//trace(evtObject.target);

//在此书写你的代码

}

myDbClick.addEventListener("onDbClick", myObj);

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航