Flash ASRécupérer position souris quand elle sort trop vite du cadre ?

Flash ASRécupérer position souris quand elle sort trop vite du cadre ? - Flash/ActionScript - Programmation

Marsh Posté le 06-10-2009 à 00:22:38    

Bonjour,
 
je suis en actionscript 2
 
j'ai un player avec des vignettes, je fais disparaitre les vignettes lorsque la souris sort du player. je teste xmouse et ymouse.
Mais quand la souris sort trop rapidement du player, le code actionscript ne s'en rend pas compte et les vignettes ne disparaissent pas, la bare de commande non plus alors que j'utilise un skin fourni par flash (clearoverall).
 
Donc j'aimerais pouvoir tester la position de la souris hors de la video, et aussi hos du clip des vignettes, et je ne sais pas comment faire !
 
Et, si j'arrive à savoir que la souris est "out" .. et bien que j'utilise le modèle "clearoverall", puis-je agir sur la présence de la barre de commande ou bien est-ce un package fermé ?
 
Merci de vos conseils.

Reply

Marsh Posté le 06-10-2009 à 00:22:38   

Reply

Marsh Posté le 17-10-2009 à 01:01:32    

J'ai eu ma réponse,
 
Effectivement une fois la souris hors de la fenêtre du swf, la position récupérée n'est pas utilisable. Je m'en suis sortie en effaçant les vignettes lorsque la souris reste immobile pendant un certain temps (je lance un timer). A chaque mouvement souris (on mouse move), j'arrête puis relance le timer. Si c'est le timer qui se déclenche, ça signifie que le délai est dépassé et j'efface les vignettes.
 
Ce que je ne savais pas non plus c'est qu'un onMouseMove ne se déclenche pas à chaque changement de pixel de la souris mais lorsqu'elle fait un mouvement .. Alors je ne sais pas exactement comment est déterminé ce movement mais il a un début et une fin.  
 
J'avais peur qu'un evènement sur le mouvement de la souris ne se déclenche N fois pour un déplacment même très petit ce qui saturerait le CPU très vite !


Message édité par barockeuse le 17-10-2009 à 01:03:23
Reply

Marsh Posté le 17-10-2009 à 10:03:02    

L'evenement MOUSE.MOVE return true à chaque frame durant lesquels la souris bouge...
Quand à la saturation du CPU, avec mes petites expérience, j'ai vite compris que le plus lourd n'était pas forcément ce qu'on croirait.
Par ailleurs, dis toi que flash exécute déja une certaine quantité de code à chaque frames, ne serait-ce pour écouter les événements, alors du moment que tu ne déclare pas de variable (par exemple) dans un script voué à être répété N fois de suite, il n'y a pas de souci à ta faire... Flash est optimisé pour ça...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 18-10-2009 à 04:33:49    

Merci !
 
Tu as une bonne connaissance/expérience de flash on dirait !

Reply

Marsh Posté le 18-10-2009 à 12:15:38    

Mes connaissances ne sont pas si structuré que ça, j'apprends des trucs "bêtes" tous les jours vu que je suis autodidactes :)
En passant à l'AS3 j'ai appris à jouir pleinement des Event, en AS2 je les utilisaient machinalement depuis des tutos, je savais les adapter à mes besoins, mais je n'en connaissais pas les réel capacités...


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed