早些时候看一些关于双击和单击的教程,好像看起来都比较麻烦,最近在测试时发现也没有那么复杂,应用简单的代码也可以实现. 比如 1.在场景中制作一个按钮,在属性面板中命名为play_btn. 这里我还建了一动态文本框用来说明问题的命名为myText . 2.在场景的中新建一层命名为as.并在第一帧上加入代码:
代码:
play_btn.onPress=function(){
timer2=getTimer()/1000;
if((timer2-timer)<0.25){
myText.text="您已双击了" + this._name;
trace("double clike");
}else{
timer=getTimer()/1000;
myText.text="您刚才单击了" + this._name;
}
}
3.测试你的影片,就ok了. 原理就如果你想单击两下,在你先单击第一次时将时间存入在timer中,第二次单击时存入timer2当两者对比小于0.25时,就视为双击,当然你也可以增大这个时间,不过反应可能就要迟钝一些. 如果你想认你的代码变得更高级更通用一点,还可以将其写成prototype
代码:
MovieClip.prototype.doubleClick = function() {
this.timer2 = getTimer()/1000;
if ((this.timer2-this.timer)<0.25) {
return true;
} else {
this.timer = getTimer()/1000;
return false;
}
};
play_btn.onPress = function() {
if (doubleClick()) {
myText.text = "您已双击了"+this._name;
} else {
myText.text = "您刚才单击了"+this._name;
}
};
这样可以使你在调用时更方便,更方便的方法是写成as2类,不过这么的小东西不值得:P 演示
|