//////////////////////////////////////////////////////////////////////////////// // // 指定MCにダブルクリック通知機能を実装するクラス // //////////////////////////////////////////////////////////////////////////////// //****************************************************************************// // // クラス宣言 // //****************************************************************************// class util.DoubleClick{ //////////////////////////////////////////////////////////////////////////// // // 変数・定数定義 // //////////////////////////////////////////////////////////////////////////// //************************************************************************// // // 通知用メソッド // //************************************************************************// public var one :Function; //シングルクリック時に実行される処理 public var double:Function; //ダブルクリック成功時に実行される処理 //************************************************************************// // // 処理関連 // //************************************************************************// private var holdTime:Number; //ダブルクリック有効時間 private var INTERVAL:Number = 500;//ダブルクリック間隔( ミリ秒 ) //////////////////////////////////////////////////////////////////////////// // // public // //////////////////////////////////////////////////////////////////////////// //************************************************************************// // // コンストラクタ // //************************************************************************// public function DoubleClick( targetMC:MovieClip ){ //クリックされた場合の処理定義 var scope:DoubleClick = this; targetMC.onPress = function(){ //現在時間取得 var now:Number = getTimer(); // ダブルクリック有効時間内の場合 if( now < scope.holdTime ){ //ダブルクリック通知 scope.double( { mc:this } ); scope.holdTime = now; //シングルクリック処理 }else{ //シングルクリック通知 scope.one( { mc:this } ); scope.holdTime = now + scope.INTERVAL; } } } }