Trucsweb.com

Forum de discussion

 Forum « Flash et Shockwave » (archives)

Re: MenuBar

Envoyé: 24 décembre 2004, 12h04 par Oznog


Salut,

Effectivement, depuis la version 2.0 de l'Action Script et son orientation objet, les scripts peuvent sembler plus dificile à saisir. En plus, on mélange ça souvent avec une composante, (components), mais c'est bien plus simple.

Une composante est à la base un objet pour simplifier la programmation. Qu'il suffit de glisser sur la scène. Celui-ci utilise un document XML pour simplifier aussi la configuration.

Le code http://www.darronschall.com/weblog/archives/000062.cfm fonctionne très bien. Il démontre plusieurs possibilité, avec icône, avec plusieurs sous-niveau de menu, bouton à cocher ou radio (le point change de place) et même un exemple de chaine XML (le menu expand me) qui pourrait être en passant un document XML extern.

Ceci dit à chaque fois que tu cré un item, tu cré en même temps une "instance" qui est utilisé plus tard. Note aussi l'état et groupe pour les types "radio et cochage".

Et enfin, chaque objet est associé à un "écouteur" pour gérer l'action.

MAIS LE MENU LUI MÊME FONCTIONNE TOUT SEUL.

Exemple simple.

1. Tu dois avoir Flash MX 2004 Professionnel.

2. Glisser sur la scène une instance du menu et lui donner le nom "monMenu".

3. Copier ce code dasn la fenêtre ActionFrame sur le premier cadre.

// Initialisation d'une composante MenuBar.
// Flash MX04 Pro
// Trucsweb.com
import mx.controls.Menu;
import mx.controls.MenuBar;
import mx.controls.TextArea;

// L'instance du menu sur la scène
var monMenu:MenuBar;

// Objet Menu
var oChoix1:Menu;
// Objet Sous-menu (de type objet...)
var oSousMenu:Object;
var oChoix2:Menu;
var oChoix3:Menu;

// Choix 1
oChoix1 = monMenu.addMenu("Choix 1.0.0");
oChoix1.addMenuItem({label:"Choix 1.1.0", instanceName:"choix110"});
oChoix1.addMenuItem({label:"Choix 1.2.0", instanceName:"choix120"});
// Choix avec sous-menu.
oSousMenu = oChoix1.addMenuItem({label:"Choix 1.3.0", instanceName:"choix130"});
oSousMenu.addMenuItem({label: "Choix 1.3.1", instanceName:"choix131"});
oSousMenu.addMenuItem({label: "Choix 1.3.2", instanceName:"choix132"});

// Choix 2
oChoix2 = monMenu.addMenu("Choix 2.0.0");
oChoix2.addMenuItem({label:"Choix 2.1.0", instanceName:"choix210"});
oChoix2.addMenuItem({label:"Choix 2.2.0", instanceName:"choix220"});

// Choix 3
oChoix3 = monMenu.addMenu("Choix 3.0.0");
oChoix3.addMenuItem({label:"Choix 3.1.0", instanceName:"choix310"});
oChoix3.addMenuItem({label:"Choix 3.2.0", instanceName:"choix320"});
oChoix3.addMenuItem({label:"Choix 3.3.0", instanceName:"choix330"});
oChoix3.addMenuItem({label:"Choix 3.4.0", instanceName:"choix340"});

Voilà, ton ceci fait le menu. Il fonctionne tout seul. Il ne restequ'à associer les actions. Tu dois créer un "écouteur"

// À copier sous le premier code
// Un objet écouteur
listener = new Object();
listener.change = function(evt){
trace("Nom de l'item ou label: "+evt.menuItem.attributes.label);
trace("Nom de l'instance: "+evt.menuItem.attributes.instanceName);
}

// Attache l'écouteur à chaque menu.
oChoix1.addEventListener("change", listener);
oChoix2.addEventListener("change", listener);
oChoix3.addEventListener("change", listener);

Ciao
Oznog


Réponses

 sp spRe: MenuBar gwendolau25/12/2004
 sp spRe: MenuBar Oznog27/12/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@