Detecter le fait de pas bouger la souris AS3

cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009 - 15 déc. 2008 à 20:36
cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009 - 19 déc. 2008 à 15:46
bien le bonjour.

question pour AS3

J'ai cherché un événement pour pouvoir détecter le fait que l'utilisateur ne bouge pas la souris pendant un temps X mais je  n'est pas trouvé .

Faut s'il tout faire soit même en récupérant les coordonnées de la souris et tester si elles changent pas pendant un certain temps (parce exemple a l'aide d'un onEnterFrame...) et si ce test est probant  effectuer l'action... ou existe t'il un evenement pour pouvoir faire cela ?!

<<------------QuE lA FETE CoMmEnCe------------>>

8 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
15 déc. 2008 à 22:00
Bonsoir,

Non il n'existe pas de MouseEvent tout fait pour cela.

Peg'
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
16 déc. 2008 à 17:59
Salut,

je te conseille pour tes tests de mouvements souris de passer par un Timer plutôt qu'un enterFrame (notion de temps et moins de ressources utilisé suivant le temps que tu désires).
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
18 déc. 2008 à 02:36
Salut,

import flash.events.MouseEvent;
import flash.utils.*;
var inactive:Boolean false, MAX_DELAY:Number 10.0*1000.0;//10 secondes
var id:int setInterval(function(){if(inactive){trace("Inactivite de souris detectee");clearInterval(id);}else inactive true;},MAX_DELAY);
addEventListener(MouseEvent.MOUSE_MOVE,__activationSouris,false,0,true);
addEventListener(MouseEvent.MOUSE_DOWN,__activationSouris,false,0,true);
addEventListener(MouseEvent.MOUSE_UP,__activationSouris,false,0,true);

function __activationSouris(event:MouseEvent):void
{
   inactive = false;
}

bonne continuation.

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
18 déc. 2008 à 08:51
salut,

pas besoin de ces imports quand on est dans un fla, et on essaye de remplacer les setinterval par des timers.

sinon la logique est là mais il manque un petit chouya, si on bouge la souris à la 1ère seconde ou à la 9e, il ne détectera le "non mouvement" que 9s ou 1s après suivant le cas. Je partirai plus sur une base de vrai temps j'imagine.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
18 déc. 2008 à 10:50
l'utilisation de "setInterval" en as3 est devenu obsolète .. il faut utiliser l'objet Timer, bien plus adapté à ce cas.

Peg'
0
nickydaquick Messages postés 416 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 19 décembre 2013 3
18 déc. 2008 à 19:50
Salut,

Crakter : met le inactive  a true au depart.
pegase31: merci du conseil

bonne continuation.

http://liveplayaz.com

je suis heureux de faire partie d'une grande famille ...!
0
crackter Messages postés 401 Date d'inscription mercredi 12 novembre 2003 Statut Membre Dernière intervention 31 janvier 2010
19 déc. 2008 à 00:57
le inactive à true ne résoud pas le soucis de savoir depuis combien de temps c'est inactif .

Il vaudrait mieux traiter dans un timer la prise du temps d'inactivité.
0
cs_dipin Messages postés 60 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 15 octobre 2009
19 déc. 2008 à 15:46
merci pour les explication et les réponses.

<<------------QuE lA FETE CoMmEnCe------------>>
0
Rejoignez-nous