Accueil > Forum > > > > Création dynamiquede menu dans une boucle AS3
Création dynamiquede menu dans une boucle AS3
vendredi 11 mars 2011 à 10:51:53 |
Création dynamiquede menu dans une boucle AS3

fraktal
|
Bonjour,
je suis en train de devellopper un site dynamique en AS3 ( je ne gere pas la prog orienté objet donc le code n'es pas du tout parfait)
J'ai un soucis, lorsque je crée mes Menu_bouton, je n'ai que le dernier qui est actif :/ .
je pense que j'utilise mal la boucle mais je ne voie pas ou ...
Code ActionScript :
//import des classe
//-------------------------------------------------------------------------------
import gs.TweenMax;
import fl.motion.easing.*;
import flash.events.MouseEvent;
import flash.display.Sprite;
//-------------------------------------------------------------------------------
// Chrgement XML
//-------------------------------------------------------------------------------
var xmlURL:URLRequest = new URLRequest("Donnee.xml");
var xmlLoader:URLLoader = new URLLoader(xmlURL);
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
function xmlLoaded(event:Event):void
{
var dataXML = XML(event.target.data);
//-------------------------------------------------------------------------------
// Chargement du fond
//-------------------------------------------------------------------------------
trace ("/Image/Acceuil/" + dataXML.@fond)
var conteneurFond:Loader = new Loader();
// url de l'image ou du swf à charge
var imageFond:URLRequest = new URLRequest("Image/Acceuil/" + dataXML.@fond);
// chargement de l'image ou du swf dans le conteneur
conteneurFond.load(imageFond);
// affichage du conteneur
this.addChild(conteneurFond);
//-------------------------------------------------------------------------------
//Placement acceuil
//-------------------------------------------------------------------------------
//Appel librairie Logo
var Logo:Logo_l = new Logo_l();
this.addChild(Logo);
setChildIndex(Logo,this.numChildren-1);
Logo.x = 485.5;
Logo.y = -300;
//Appel librairie Bandeau
var Bandeau:Menu_bandeau_l = new Menu_bandeau_l();
this.addChild(Bandeau);
setChildIndex(Bandeau,this.numChildren-1);
Bandeau.x = -1500;
Bandeau.y = 446;
//Bandeau.alpha = 0.4;
//Création du Menu
//trace (dataXML.Menu.@nom + "num" + dataXML.Menu.@numero)
var nbrTitres:Number;
nbrTitres=dataXML.children().length();
var Menu_tabl:Array = new Array();
for(var i:uint=0;i<nbrTitres;i++)
{
var formatMenu:TextFormat = new TextFormat();
formatMenu.font="Tahoma";
formatMenu.bold=false;
formatMenu.size = 24;
formatMenu.letterSpacing = 3;
formatMenu.color=0xFFFFFA;
var Menu_texte:TextField=new TextField();
var Menu_bouton:MovieClip=new MovieClip();
//Menu_texte.height=40;
//Menu_texte.width=70;
Menu_texte.x=-25 + 225 *(i+1);
Menu_texte.y=0;
Menu_texte.selectable=false;
Menu_texte.autoSize = TextFieldAutoSize.LEFT;
Menu_texte.defaultTextFormat = formatMenu;
Menu_texte.text=dataXML.Menu[i].@nom;
//Nommage des menus
Menu_bouton.name =String(i+1);
// je rempli le tableau de nom
Menu_bouton.addChild(Menu_texte);
Bandeau.addChildAt(Menu_bouton,2);
Menu_tabl.push(Menu_bouton.name);
}
//Tween acceuil
stage.addEventListener(MouseEvent.MOUSE_OVER, plac_acc_logo);
function plac_acc_logo(evt:Event) {
var plac_acc_logo:Timer = new Timer(500);
plac_acc_logo.addEventListener(TimerEvent.TIMER,plac_acc_logo_t);
plac_acc_logo.start();
function plac_acc_logo_t(evt:TimerEvent) {
TweenMax.to(Logo, 1, {x:485.5,y:95, ease:Back.easeOut});
TweenMax.to(Bandeau, 2, {x:-83 ,y:446, ease:Back.easeOut});
}
}
// Ecouteur Menu
Menu_bouton.addEventListener(MouseEvent.MOUSE_DOWN, click_menu);
function click_menu(evt:Event) {
var click_menu:Timer = new Timer(2,1);
click_menu.addEventListener(TimerEvent.TIMER,click_menu_t);
click_menu.start();
function click_menu_t(evt:TimerEvent) {
var Menu_bouton_nom:int = Menu_tabl.indexOf(evt.currentTarget);
//trace (evt.currentTarget + "et le tabl retourne" + Menu_bouton_nom);
trace(Menu_bouton.name);
}
}
//Menu_tabl.push(dataXML.Menu.@numero);
}
Merci beaucoup
|
|
vendredi 11 mars 2011 à 12:12:54 |
Re : Création dynamiquede menu dans une boucle AS3
|
vendredi 11 mars 2011 à 15:32:51 |
Re : Création dynamiquede menu dans une boucle AS3

fraktal
|
Salut Peg,
Les Timers je les ai viré, j'ai suivis pas mal de tes conseils via ce topic
http://www.flashkod.com/forum/sujet-AS3-CREATION-DYNAMIQUE-BOUTONS-LEUR-ECOUTEUR-RESPECTIF_1419405.aspx
Mais mon tableau me retourne toujours -1 :/ comme pour vedelvetsyn
lorsque je trace (evt.currentTarget + "et le tabl retourne" + Menu_bouton_nom);
Merci beaucoup
|
|
vendredi 11 mars 2011 à 15:54:23 |
Re : Création dynamiquede menu dans une boucle AS3
|
vendredi 11 mars 2011 à 15:58:50 |
Re : Création dynamiquede menu dans une boucle AS3

fraktal
|
Ben c'est une mauvaise habitude que j'ai prise en suivant des tuto sur les écoutuers ou ils utilisait des Timer
mais le probleme ne vient pas de la, je les ai viré depuis mais il n'y a que le dernier movieclip créé qui fonctionne ( j'ai les texte sur tous mai l'ecouteur click ne fonctionne que sur le dernier
mon code sans les timers :
Code ActionScript : //import des classe
//-------------------------------------------------------------------------------
import gs.TweenMax;
import fl.motion.easing.*;
import flash.events.MouseEvent;
import flash.display.Sprite;
//-------------------------------------------------------------------------------
// Chrgement XML
//-------------------------------------------------------------------------------
var xmlURL:URLRequest = new URLRequest("Donnee.xml");
var xmlLoader:URLLoader = new URLLoader(xmlURL);
xmlLoader.addEventListener(Event.COMPLETE,xmlLoaded);
var dataXML = XML(xmlLoader);
function xmlLoaded(event:Event):void
{
dataXML = XML(event.target.data);
//-------------------------------------------------------------------------------
// Chargement du fond
//-------------------------------------------------------------------------------
trace ("/Image/Acceuil/" + dataXML.@fond)
var conteneurFond:Loader = new Loader();
// url de l'image ou du swf à charge
var imageFond:URLRequest = new URLRequest("Image/Acceuil/" + dataXML.@fond);
// chargement de l'image ou du swf dans le conteneur
conteneurFond.load(imageFond);
// affichage du conteneur
this.addChild(conteneurFond);
//-------------------------------------------------------------------------------
//Placement acceuil
//-------------------------------------------------------------------------------
//Appel librairie Logo
var Logo:Logo_l = new Logo_l();
this.addChild(Logo);
setChildIndex(Logo,this.numChildren-1);
Logo.x = 485.5;
Logo.y = -300;
//Appel librairie Bandeau
var Bandeau:Menu_bandeau_l = new Menu_bandeau_l();
this.addChild(Bandeau);
setChildIndex(Bandeau,this.numChildren-1);
Bandeau.x = -1500;
Bandeau.y = 446;
//Bandeau.alpha = 0.4;
//Création du Menu
//trace (dataXML.Menu.@nom + "num" + dataXML.Menu.@numero)
var nbrTitres:Number;
nbrTitres=dataXML.children().length();
var Menu_tabl:Array = new Array();
for(var i:uint=0;i<nbrTitres;i++)
{
//formatage texte
var formatMenu:TextFormat = new TextFormat();
formatMenu.font="Tahoma";
formatMenu.bold=false;
formatMenu.size = 24;
formatMenu.letterSpacing = 3;
formatMenu.color=0xFFFFFA;
var Menu_texte:TextField=new TextField();
var Menu_bouton:MovieClip=new MovieClip();
//Menu_texte.height=40;
//Menu_texte.width=70;
Menu_texte.x=-25 + 225 *(i+1);
Menu_texte.y=0;
Menu_texte.selectable=false;
Menu_texte.autoSize = TextFieldAutoSize.LEFT;
Menu_texte.defaultTextFormat = formatMenu;
Menu_texte.text=dataXML.Menu[i].@nom;
//Nommage des menus
Menu_bouton.name =String(i+1);
// je rempli le tableau de nom
Menu_bouton.addChild(Menu_texte);
Bandeau.addChildAt(Menu_bouton,2);
Menu_tabl.push(Menu_bouton.name);
}
//Tween acceuil
stage.addEventListener(MouseEvent.MOUSE_OVER, plac_acc_logo);
function plac_acc_logo(evt:Event) {
TweenMax.to(Logo, 1, {x:485.5,y:95, ease:Back.easeOut});
TweenMax.to(Bandeau, 2, {x:-83 ,y:446, ease:Back.easeOut});
}
// Ecouteur Menu
Menu_bouton.addEventListener(MouseEvent.MOUSE_DOWN, click_menu);
function click_menu(evt:Event) {
var Menu_bouton_nom:int = Menu_tabl.indexOf(evt.currentTarget);
trace (evt.currentTarget + "et le tabl retourne" + Menu_bouton_nom);
trace(Menu_bouton.name);
}
//Menu_tabl.push(dataXML.Menu.@numero);
}
Merci de ton aide
|
|
vendredi 11 mars 2011 à 16:20:12 |
Re : Création dynamiquede menu dans une boucle AS3
|
vendredi 11 mars 2011 à 16:29:39 |
Re : Création dynamiquede menu dans une boucle AS3

fraktal
|
En effet >< du coup le tableau me retourne maintenant la bonne valeur mais le seul bouton fonctionnel reste le dernier :/ et la dessus je pense que soit c'est une variable créé au mauvais endroit mais je ne voie pas, je créé mes boutons dans la boucle, mon tableau avant le boucle
Ou alors ce la viens du l'imbrication de mon texte dans un movieClip mais le dernier fonctionne donc logiquement c'est tout bon ...
Merci
|
|
vendredi 11 mars 2011 à 16:37:49 |
Re : Création dynamiquede menu dans une boucle AS3
|
vendredi 11 mars 2011 à 16:52:26 |
Re : Création dynamiquede menu dans une boucle AS3

fraktal
|
Yes ,
J'aurais y penser V___V" mais bon les reflexes de code c'est dur à entrer
du coup le tableau me retourne les bonne valeur pour tous les boutons, les écouteur fonctionne sur tout les boutons mais il renvoient tous vers le meme objet ( le dernier) je vais essayer de les différencier avec une autre variable ou alr avec un switch enfin je ne sais pas trop . En tout cas merci pour ton aide précieuse.
|
|
vendredi 11 mars 2011 à 16:59:01 |
Re : Création dynamiquede menu dans une boucle AS3
|
Cette discussion est classée dans : bouton, menu, var, logo, bandeau
Répondre à ce message
Sujets en rapport avec ce message
menu style mac [ par robertours ]
Salut, je tente actuellement d'uitiliser un menu au design mac.Pour les icones de gauche, tout se passe a peu près bien, mais si on approche du menu p
comment demarrer un clip a partir d'1 bouton????? [ par mikiky ]
bonjour, voila g creer un site en flash, et j'ai creer un menu avec 4 boutons ; chaques boutons doit ouvrir un autre menu, avec mes liens finaux, par
bouton precedent offline [ par stepao20 ]
Je veux faire un cd rom sous flash mx 2004 destiné à une utilisation offline, il se compose de plusieurs sequence dont une qui sera un menu. Je voudra
boutons déroulant [ par Kidbliss ]
Salut tt le monde!!J'ai une page html qui compte quatre frames : 1 bandeau supérieur et 3 colonnes en dessous. Je veux mettre des boutons Flash dans l
UN BOUTON DANS UN CLIP LUI MEME DANS UN CLIP [ par zoukozouko ]
j'ai un bouton dans un clip menu2.ce menu2 est dans un clip menu.si je met un bouton b1 dans menu (_root.menu.b1), il est actif et clikable.Si je le m
Rollover rollout qui s'accade si le curseur passe trop vite sur le bouton [ par yam12r ]
bonjour a tous, j'explique mon anim c'est un bouton et un menu déroulant, qd je passe le curseur sur le bouton le menu déroule qd le curseur part du b
variables globales ??? [ par tnnt ]
bonjour ,j'ai un problème au niveau de mon menu, je m'explique :dans la seq1, le menu est composé de plusieurs boutons,voici le code associé à chaque
Qui sait modifié le texte d'un menu bouton ? [ par hackoustik ]
Voila le menu en Flash que j'ai, mais je ne comprend rien en flash, et qd je modifi un choix de menu, tout ce modifi, si kelk1 sait comment faire sa m
bouton en mouvement continu [ par jkiffer ]
Bonjour, je débute dans Flash et j'ai soucis avec un bouton . J'ai créé un menu où les différent boutons renvoient à différentes frames de ce menu. Je
insertion de séquence [ par noupha ]
Salut à tous,Quelqu'un serait-il en mesure de me dire pourquoi cela ne fonctionne pas : dans séquence 1 : je veux mettre en place un menu déroulant,
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|