com.neolao.movieclip.DoubleClick
Ajout de l'événement onDoubleClick sur un Button ou un MovieClip.
Exemple
DoubleClick.addEvent(mon_bouton); mon_bouton.onDoubleClick = function(){ trace("coucou"); };
Propriétés
Visibilité | Type | Nom | Status | Description |
---|---|---|---|---|
static public | Number | interval | Lecture et écriture | Le délai entre 2 click pour valider un double click |
Méthodes
Visibilité | Return | Nom | Param 1 | Description |
---|---|---|---|---|
static public | Boolean | addEvent | pInstance:Object | Ajoute l'événement onDoubleClick à l'objet ciblé |
static public | Boolean | removeEvent | pInstance:Object | Supprime l'événement onDoubleClick à l'objet ciblé |
Change log
[05/08/2004]
Ajout de l'événement onDoubleClick sur un Button ou un MovieClip
[13/09/2004] Version 1.2
Ajout d'une nouvelle condition a la reconnaissance de double click. La souris ne doit pas bouger
[08/10/2004] Version 1.3
Modification de la reconnaissance du double click. Le double click se fait sur le second onPress
[18/08/2005]
Un ptit check up !
Source
/** * Ajout de l'événement onDoubleClick sur un Button ou un MovieClip * @author neolao <neo@neolao.com> * @version 1.3 (18/08/2005) * @link http://resources.neolao.com/flash/classes/movieclip/DoubleClick * @license http://creativecommons.org/licenses/by-sa/2.0/ */ class com.neolao.movieclip.DoubleClick { public static var className:String = "DoubleClick"; public static var version:String = "1.3"; // ----------------------------- VARIABLES --------------------------------- /** * Le délai entre 2 click pour valider un double click */ public static var interval:Number = 300; // ----------------------------- EVENEMENTS -------------------------------- /*========================== METHODES PUBLIQUES ==========================*/ /*========================================================================*/ /** * Ajoute l'événement onDoubleClick à l'objet ciblé * @param pInstance Instance de MovieClip ou Button sur la scène * @return true s'il a réussi, sinon false */ public static function addEvent(pInstance:Object):Boolean{ if(!pInstance.__oldRelease){ // création des différents objets s'ils n'existent pas pInstance.__oldRelease = pInstance.onRelease; pInstance.__oldPress = pInstance.onPress; pInstance.__classDoubleClick = new Object(); pInstance.__classDoubleClick.double = false; pInstance.__classDoubleClick.xmouse = _level0._xmouse; pInstance.__classDoubleClick.ymouse = _level0._ymouse; } // Remplacement du onPress pInstance.onPress = function(){ this.__oldPress(); if(this.__classDoubleClick.double && this.__classDoubleClick.xmouse == _level0._xmouse && this.__classDoubleClick.ymouse == _level0._ymouse){ // C'est un double click this.onDoubleClick(); } clearInterval(this.__classDoubleClick.intervalID); this.__classDoubleClick.intervalID = setInterval(this, "onDoubleClickDeclenche", DoubleClick.interval, this.__classDoubleClick.double); // Le prochain click est double this.__classDoubleClick.double = true; }; // Remplacement du onRelease pInstance.onRelease = function(){ this.__oldRelease(); this.__classDoubleClick.xmouse = _level0._xmouse; this.__classDoubleClick.ymouse = _level0._ymouse; }; pInstance.onDoubleClickDeclenche = function(pDouble){ // Le délai est écoulé if(!pDouble && this.__classDoubleClick.xmouse == _level0._xmouse && this.__classDoubleClick.ymouse == _level0._ymouse){ // Le click est simple //this.__oldPress(); } this.__classDoubleClick.double = false; clearInterval(this.__classDoubleClick.intervalID); }; return true; } /** * Supprime l'événement onDoubleClick à l'objet ciblé * @param pInstance Instance de MovieClip ou Button sur la scène * @return true s'il a réussi, sinon false */ public static function removeEvent(pInstance:Object):Boolean{ if(pInstance.__oldRelease){ pInstance.onRelease = pInstance.__oldRelease; pInstance.onPress = pInstance.__oldPress; delete pInstance.__oldRelease; delete pInstance.__oldPress; delete pInstance.__classDoubleClick; delete pInstance.onDoubleClickDeclenche; delete pInstance.onDoubleClick; return true; }else{ return false; } } /*==================== FIN = METHODES PUBLIQUES = FIN ====================*/ /*========================================================================*/ }