/*
使用方法:定义好mc(或是btn)的onDoubleClick 和onSingleClick,注意单击响应都要写在
onSingleClick里面,不能再使用原来的onRelease,然后用DoubleClick.init(mc)处理一下mc就可以了
//-----用例-----
#include "DoubleClick1.0.as"
DK=new DoubleClick()
mc1.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc1.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
mc2.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc2.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
mc3.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc3.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
DK.init(mc1);
DK.init(mc2);
DK.init(mc3);
//-----------------------------
*/
_global.DoubleClick_instance = null;
function DoubleClick() {
this.DELAY_TIME = 170;
this.target;
this.intervalID;
this.delayTime;
}
DoubleClick.prototype.onClick = function() {
if (!this.delayTime) {
this.delayTime = getTimer();
clearInterval(this.intervalID);
this.intervalID = setInterval(this, "run", this.DELAY_TIME);
} else {
if ((getTimer()-this.delayTime)<this.DELAY_TIME) {
this.target.onDoubleClick();
}
this.delayTime = null;
}
};
DoubleClick.prototype.run = function() {
if (this.delayTime) {
this.target.onSingleClick();
this.delayTime = null;
clearInterval(this.intervalID);
}
};
DoubleClick.prototype.getInstance = function() {
if (DoubleClick_instance == null) {
trace("创建 DoubleClick 实例");
DoubleClick_instance = new DoubleClick();
}
return DoubleClick_instance;
};
DoubleClick.prototype.init = function(mc) {
mc.doubleClickObject = this.getInstance();
mc.onRelease = function() {
if (this.doubleClickObject.target != this) {
this.doubleClickObject.run();
this.doubleClickObject.target = this;
}
this.doubleClickObject.onClick();
};
};
使用方法:定义好mc(或是btn)的onDoubleClick 和onSingleClick,注意单击响应都要写在
onSingleClick里面,不能再使用原来的onRelease,然后用DoubleClick.init(mc)处理一下mc就可以了
//-----用例-----
#include "DoubleClick1.0.as"
DK=new DoubleClick()
mc1.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc1.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
mc2.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc2.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
mc3.onDoubleClick = function() {
trace("双击 [ "+this._name+" ]");
};
mc3.onSingleClick = function() {
trace("单击 [ "+this._name+" ]");
};
DK.init(mc1);
DK.init(mc2);
DK.init(mc3);
//-----------------------------
*/
_global.DoubleClick_instance = null;
function DoubleClick() {
this.DELAY_TIME = 170;
this.target;
this.intervalID;
this.delayTime;
}
DoubleClick.prototype.onClick = function() {
if (!this.delayTime) {
this.delayTime = getTimer();
clearInterval(this.intervalID);
this.intervalID = setInterval(this, "run", this.DELAY_TIME);
} else {
if ((getTimer()-this.delayTime)<this.DELAY_TIME) {
this.target.onDoubleClick();
}
this.delayTime = null;
}
};
DoubleClick.prototype.run = function() {
if (this.delayTime) {
this.target.onSingleClick();
this.delayTime = null;
clearInterval(this.intervalID);
}
};
DoubleClick.prototype.getInstance = function() {
if (DoubleClick_instance == null) {
trace("创建 DoubleClick 实例");
DoubleClick_instance = new DoubleClick();
}
return DoubleClick_instance;
};
DoubleClick.prototype.init = function(mc) {
mc.doubleClickObject = this.getInstance();
mc.onRelease = function() {
if (this.doubleClickObject.target != this) {
this.doubleClickObject.run();
this.doubleClickObject.target = this;
}
this.doubleClickObject.onClick();
};
};

回复Comments
{commenttime}{commentauthor}
{CommentUrl}
{commentcontent}