·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3单击与双击事件完美解决方法附源代码(3)

时间:2013-06-15 16:24CuPlayer.com
importflash.display.Sprite; importflash.events.*; importflash.utils.Timer; publicclassMyButtonextendsSprite { publicvardouble:Boolean; publicfunctionMyButton(){ super(); init(); } publicfunctioninit(

 

  1. import flash.display.Sprite; 
  2. import flash.events.*; 
  3. import flash.utils.Timer; 
  4. public class MyButton extends Sprite 
  5. public var double:Boolean; 
  6. public function MyButton() { 
  7.     super(); 
  8.     init(); 
  9. public function init():void { 
  10.      addEventListener( MouseEvent.CLICK , onClickHandler ); 
  11.      addEventListener( MouseEvent.DOUBLE_CLICK , onDoubleClickHandler ); 
  12. public function onClickHandler( e:MouseEvent ):void { 
  13. double = false
  14. var timer:Timer = new Timer(260,1); 
  15. timer.addEventListener( TimerEvent.TIMER , checkClick ); 
  16. timer.start(); 
  17. public function onDoubleClickHandler( e:MouseEvent ):void { 
  18.     double = true
  19. public function checkClick( e:TimerEvent ):void { 
  20. if( double ){ 
  21.     //www.cuplayer.com酷播提示你监听这两个自定义事件即可 
  22.    dispatchEvent( new Event( "mouseDoubleClick" , true ) ); 
  23. }else{ 
  24.     dispatchEvent( new Event( "mouseSingleClick" , true ) ); 

以上的做法有个弊端,就是会导致单击延时.
高手推荐做法
只加CLICK的侦听,然后通过记时然后分辨单击和双击

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器