分享

webstudio Forums - Flash中的双击与单击事件

 没有热情 2006-05-29

早些时候看一些关于双击和单击的教程,好像看起来都比较麻烦,最近在测试时发现也没有那么复杂,应用简单的代码也可以实现.
比如
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
演示

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多