Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 2022
-
26 sept. 2005 à 17:29
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 2022
-
27 sept. 2005 à 13:53
Salut,
Pour les besoins d'une animation spécifique, j'essaye de créer une zone réactive qui ne soit pas rectangulaire! Ce qui me pose problème, c'est que je ne peux absolument pas utiliser un bouton pour la créer (ça me pose un tas de problème d'interaction avec les boutons qui interviennent au dessus de la zone réactive).
J'ai donc pensé à utiliser xmouse et ymouse dans un onMouseMove et à placer plusieurs zones réactives de ce type à des tailles différentes les unes à côté des autres pour recréer ma forme mais ça ne convient pas car ma zone réactive possède un grand bord arrondi. A moins de créer de très fines zones réactives les unes en dessous des autres, ce qui risque d'être un peu tarabiscotté, je ne vois pas comment appliquer cette méthode, qui se défini sous ce code:
//crée un objet d'ecoute
ecoute = new Object();
//si la souris bouge
ecoute.onMouseMove = function() {
//on compare les coordonnés de la souris à la zone qu'on desire rendre "sensible"
if (_xmouse>limitXmini & _xmouse<limitXmaxi & _ymouse>limitYmini& _ymouse<limitYmaxi) {
//instruction
}
};
//attache l'ecoute a la souris
Mouse.addListener(ecoute);
N'y a t'il pas moyen d'y faire entrer les coordonnées d'une zone non-rectangulaire?
_benjy
Messages postés1575Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention21 février 20112 26 sept. 2005 à 21:08
Salut
désolé de te le dire, mais t'as pas capté
hitTest te permet de savoi si 2 clips se touchent
ou si un clip est a une possition donnée (ce qui t'interrese toi car
qu'un clip soit a une position ou qu'un position (la sourie) soit sur
un clip c pareil)
donc si
zoneReactive.hitTest(_xmouse,_ymouse,true)
signifie
est ce que la sourie touche la forme exacte du clip zoneReactive
mais ce n'est pas un on(..) donc n'interfera pas avec les action sur tes boutons
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 21:39
Ca ne marche pas et ce coup-ci, je vois pas trop pourquoi! Qué casse-tête! En fait ça à l'aire de tenir compte du code parce que mon interaction de souris avec le clip lance le clip mais pas comme il faudrait! Ca s'allume et s'éteind seulement quand je passe du rollOver vers le rollOut et jamais quand je passe du rollOut vers le rollOver! De toute façon, j'ai été suffisamment aidé, je vais cliquer sur "réponse acceptée" et essayer de trouver moi-même d'où vient ce nouveau problème!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 22:00
Ok, ça marche! Héhééh!
Et si je veux lancer une action lorsque la souris n'est plus au dessus du clip, je fais comment? Je devrais peut-être essayer de trouver la réponse par moi-même mais j'ai un peu de mal avec l'actionscript!
Si le rollOver se définit par un zoneReactive.hitTest(_xmouse,_ymouse,true) égal à true, je suppose qu'un état "hors de la zone", se défint par false!
Seulement, je ne sais pas comment je peux récupérer la valeur false et l'utiliser! Oserais-je encore demander un petit coup de main?
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 27 sept. 2005 à 00:21
Bon, ok! Merci!
Y a juste un petit problème, c'est que Flash réinitialise la fonction chaque fois que je bouge la souris au dessus de ma zone reactive! Du coup, le clip de ma zone n'arrête pas de passer d'une frame à l'autre.
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 27 sept. 2005 à 08:05
Utilise la condition supplémentaire que t'a donné benjy (
_currentframe==1) et ajoute un stop() sur la dernière image du clip
"zone réactive" Tu feras repassé à l'image 1 quand hitTest ==false