5/5 (17 avis)
Snippet vu 10 583 fois - Téléchargée 30 fois
// par defaut, le premier click est forcement un simple click ( c a dire pas un double click ) global_firstclick=true; // on met l'intervalle a 200 millisecs latence=200; function deleteclick(){ global_firstclick=true; clearInterval(global_click_interval); } function eval_double_click(){ if (global_firstclick){ global_firstclick=false; global_click_interval=setInterval(this,"deleteclick",latence); return(false); } else { deleteclick(); return(true); } } btn.onPress=function(){ if(eval_double_click())trace("double click OK"); }
30 mars 2006 à 09:50
je parlais juste pour top30,le sien il le fé pas
Et pis je préfere un clique de bouton qu' un hitTest..
" ça laisse les events mouse du clip libres" ...
Ben c pa grave, je trouve, de toute façon le clip que je veux créer n'aura que le double clique comme role dans sa vie, je vais pas lui créer mille fonctions par clique.
30 mars 2006 à 07:55
Pas encore tester le code de Top30
Blacknight
29 mars 2006 à 22:40
29 mars 2006 à 22:40
Mais je vais vous taper sur les doigs, j'ai dit,
MON CODE RECONNAIT LE DOUBLE CLIQUE ET NON LE TRIPLE CLIQUE.
c à d que le 3 eme clique redevient un siple click, et on voit pas "DoubleClick effectué " qui saute à la figure.
J'ai donc rajouté la variable
firstclick à ton truc (et g enlevé aussi l'alerte "simpleclick" qui était un peu enervant:
new DoubleClick ( unClip, 500 ) ;
unClip.onDoubleClick = function( time )
{
trace ( "DoubleClick effectué en " + time + " ms" ) ;
}
//
function DoubleClick ( mc, delay )
{
var o = {} ;
o.onMouseDown = function ()
{
if ( mc.hitTest(_root._xmouse,_root._ymouse,true) )
{
this.time = getTimer() ;
this.delay = this.time-this.reset ;
//
if(( this.delay < delay )and !this.firstclick){
mc['onDoubleClick']( this.delay ) ;
this.firstclick=true;
}
else this.firstclick=false;
//
this.reset = getTimer() ;
}
}
Mouse.addListener( o ) ;
}
27 mars 2006 à 21:15
//
new DoubleClick ( unClip, 250 ) ;
//
unClip.onMouseDown = function( time )
{
trace ( "Simple onMouseDown" ) ;
}
unClip.onDoubleClick = function( time )
{
trace ( "DoubleClick effectué en " + time + " ms" ) ;
}
//
function DoubleClick ( mc, delay )
{
var o = {} ;
o.onMouseDown = function ()
{
if ( mc.hitTest(_root._xmouse,_root._ymouse,true) )
{
this.time = getTimer() ;
this.delay = this.time-this.reset ;
//
if( this.delay < delay ) mc['onDoubleClick']( this.delay ) ;
//
this.reset = getTimer() ;
}
}
Mouse.addListener( o ) ;
}
C'est tout !!!
Pas d'interval, pas de onRelease, et ca laisse les events Mouse du clip libres...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.