[AS3]as3.0双击与单击动作事件判断的解决办法
最开始遇到这个问题是在做播放器全屏的时候,上网搜了一下,发现已经有人遇到了,解决办法有以下几种,[AS3]as3.0双击与单击动作事件判断的解决办法
最开始遇到这个问题是在做播放器全屏的时候,上网搜了一下,发现已经有人遇到了,解决办法有以下几种:
第一种:
- mc.doubleClickEnabled=true
- mc.addEventListener(MouseEvent.CLICK,chick)
- mc.addEventListener(MouseEvent.DOUBLE_CLICK,double)
- var sta=false
- function double(e){
- sta=true
- }
- function chick(e){
- sta=false
- var time=new Timer(260,1)
- time.start()
- time.addEventListener(TimerEvent.TIMER,func)
- }
- function func(e){
- if(sta){
- trace("极酷播放器提示:双击")
- }else{
- trace("极酷播放器提示:单击")
- }
- }
第二种写法:
- import flash.display.Sprite;
- import flash.events.*;
- import flash.utils.Timer;
- public class MyButton extends Sprite
- {
- public var double:Boolean;
- public function MyButton() {
- super();
- init();
- }
- public function init():void {
- addEventListener( MouseEvent.CLICK , onClickHandler );
- addEventListener( MouseEvent.DOUBLE_CLICK , onDoubleClickHandler );
- }
- public function onClickHandler( e:MouseEvent ):void {
- double = false;
- var timer:Timer = new Timer(260,1);
- timer.addEventListener( TimerEvent.TIMER , checkClick );
- timer.start();
- }
- public function onDoubleClickHandler( e:MouseEvent ):void {
- double = true;
- }
- public function checkClick( e:TimerEvent ):void {
- if( double ){
- //监听这两个自定义事件即可
- dispatchEvent( new Event( "mouseDoubleClick" , true ) );
- }else{
- dispatchEvent( new Event( "mouseSingleClick" , true ) );
- }
- }
- }
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例
请稍候...