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 à 17:39
Salut
tu peux toujours mettre un
clip avec _alpha à 0 au dessus de tt les autres qui te servira de
bouton ... et tu peux lui donner la forme que tu veux
si tu souhaite vraiment jouer avec les coordonnées, va te falloir une
matric représentant les coordonées sensibles et parcourir la marice
pour savoir si t'es en zone reactive ou non
ca risque d'etre tres lourd a géré surtout jsute pour un bouton :)
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 18:41
Ben non, sinon ce serait tout simple! En fait, concrètement, j'aimerais créer une zone de mon interface qui soit figée et inactive quand la souris en est éloignée et qui s'active quand la souris s'en approche et donc mon idée était de créer une plage de couleur qui s'illumine sous mes boutons lorsqu'on la survole et par la même occasion, déclanche aussi l'illumination de mes boutons.
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 18:44
Oups, je répondais à Benjy!
Oui, changer mes boutons en clip, c'est ce qu'on m'a conseillé aussi ailleurs et je crois que c'est ce que je vais faire mais bon, ça veut dire aussi que je suis bon pour tout modifier surtout que mes boutons sont relativement complexes!
cs_goldenboy68
Messages postés1596Date d'inscriptionsamedi 3 janvier 2004StatutMembreDernière intervention 9 juin 20112 26 sept. 2005 à 18:46
La solution des clips te permet d'illuminer plusieurs "clip-boutons" à
la fois. Pour faire un truc progressif, je vois bien un onEnterFrame
qui fasse la différence (pointRéférence-positionSouris) mais bon...ça
c'est juste une p'tite idée en passant!
Dans le clip-container, de la frame 1 à 10, on a une interpolation qui amène progressivement l'illumination des boutons, lesquels se situent sur la frame 10 de mon clip-container!
Dans le clip-container, de la frame 1 à 10, on a une interpolation qui amène progressivement l'illumination des boutons, lesquels se situent sur la frame 10 de mon clip-container!
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 20:48
D'après ce que me propose Slagt et d'après ce que je lis sur la méthode hitTest:
MovieClip.hitTest(x, y, typeForme)
Ca signifie que je dois entrer les coordonnées d'une zone dans laquelle mon clip/zone reactive et les boutons entrent en collision? Comme je le comprend, dans cette zone, Flash va détecter les risques de problèmes liés à la collision et va permettre que les actions soit jouées sur les 2 objets (bouton et clip) malgré tout?
Gizmil
Messages postés706Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention 3 octobre 20221 26 sept. 2005 à 21:03
Argh! Ouais mais non, je comprend pas à quoi ça me sert le hitTest!
onMouseMove = function ()
{
if (zonereactive.hitTest (_xmouse, _ymouse, true))
clip_container.gotoAndStop (1);
}
Si j'interpète correctement (mais je n'en suis pas sûr) le code de Slagt, ça signifie:
Lorsque je bouge la souris, si une collision a été détectée sur la zone réactive, alors le clip container va à la frame 1.
A quoi ça me sert? Je rappelle que j'ai besoin de pouvoir cliquer sur mes boutons sans que la collision par la zone réactive (clip) n'interfère sur leur fonctionnement. Je ne vois pas bien en quoi ça m'aide de pouvoir détecter cette collision! Ou alors, j'ai rien compris, ce qui est possible aussi!