Pb d'organisation de code

digit10 Messages postés 5 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 3 février 2010 - 1 févr. 2010 à 22:38
digit10 Messages postés 5 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 3 février 2010 - 3 févr. 2010 à 07:57
Bonjour,

je suis débutante en flash et j'aurais besoin d'aide...
Grâce a certains d'entre vous j'ai pu avoir quelques bases et avancer un peu dans mes travaux, seulement je ne me débrouille que sur l'interface graphique du logiciel et j'ai du mal a organiser mon code...
J'ai créer une mini animation, juste une image et des boutons pouvant atteindre une page web...j'ai bien compris la démarche a suivre, mon premier bouton marche mais lorsque je duplique mon code pour le second bouton plus rien ne marche...

var chargeur = new Loader();

huit_bt.addEventListener(MouseEvent.CLICK,charger1);
function charger1(evt:MouseEvent) {
var req:URLRequest = new URLRequest("carte.swf");
navigateToURL(req, "_blank");
addChild(chargeur);

}
Ca c mon premier btn, ou dois je inscrire mon code pr le second?pr le troisième? Est ce que si je duplique ce code tt celui ci deviens faux?
J'espère avoir des réponses....
Merci

2 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 11
1 févr. 2010 à 23:27
Bonsoir, il y a une méthode plus simple en nombre de lignes de codes, mais plus compliquée en terme de structure.

Il est possible de savoir quel bouton tu as cliqué dans ton MouseEvent à l'aide de la propriété "MouseEvent.currentTarget", celà te ressortira ton bouton cliqué.

Une fois récupéré ça, il suffit d'agir en fonction de ton résultat.

Pour exemple, imaginons 3 boutons avec chacun un Ecouteur :

bouton1.addEventListener(MouseEvent.CLICK, boutonHandler);
bouton2.addEventListener(MouseEvent.CLICK, boutonHandler);
bouton3.addEventListener(MouseEvent.CLICK, boutonHandler);


Tu remarqueras qu'ils appellent tous la même fonction.
Cette fonction recherchera quel bouton est cliqué et agira en fonction avec l'aide d'une instruction switch/case :
(on partira du principe que tout les boutons ont une fonction de "navigateToURL" en action)

function boutonHandler(evt:MouseEvent):void {
var url:String; //initialise la variable qui va recevoir l'adresse
switch(evt.currentTarget) { //déclenche les cas en fonction du bouton cliqué
case bouton1 : //cas du bouton 1
url = "www.lien1.com/toto.htm"; //stock l'adresse dans le bouton 1
break; //fin du case, si absent, le case suivant est exécuté
case bouton2 : //cas du bouton 2
url = "www.lien2.com/tata.htm";
break;
case bouton3 : //cas du bouton 3
url = "www.lien3.com/titi.htm"; //stock l'adresse dans le bouton 1
break
default : //s'exécute si aucun des cas n'est vérifié(pas utile, mais pour l'exemple)
}
navigateToURL(url, "_blank");
}


J'espère que tu as compris tout ça, et si c'est le cas, t'es presque une pro ;)

Peg'
0
digit10 Messages postés 5 Date d'inscription vendredi 8 janvier 2010 Statut Membre Dernière intervention 3 février 2010
3 févr. 2010 à 07:57
Whaouuu merci pour ta réponse, je me sentais un peu perdue...je vais essayer ça et puis je te répondrais...ça n'a pas l'air trop trop complexe..mais bon tu expliques très bien donc forcément...si tu as l'âme d'un prof, je te donnerais mon mail, sinon bah encore merci
0