Forum de discussion
Forum « Flash et Shockwave » (archives)
Pb de cliblage entre bouton "Suivant" et un TREE
Envoyé: 23 juin 2004, 11h48 par janfi
Comme beaucoup de personnes, je suis tout nouveau dans le monde merveilleux de Flash ;-)
Pour mon boulot, je dois développer une application en Flash qui proposera différentes présentation Flash. La sélection de ces présentations se fait par le biais d'une arborescence ("Tree") qui elle-même se trouve dans un composant Accordion. A chaque clic sur une branche de l'arborescence, une animation SWF se lancera. Je souligne que l'arborescence est chargée par l'intermédiaire d'un fichier XML.
Dans mon application Flash, j'ai mis deux boutons "Suivant" et "Précédent".
Comme leur intitulé l'indique, le bouton "suivant" me permettra de descendre dans l'arborescence, et le bouton "précedent" me permettra de remonter, le tout bien-sûr sans cliquer directement sur l'arborescence.
Le lancement des anims SWF en cliquant dans l'arborescence marche.
Mon soucis le voici :
Je n'arrive pas à communiquer entre les boutons de naviguations et l'arborescence. PLus précisemment, étant un jeune novice dans la programmation POO et Actionscript, je nage actuellement dans un brouillard très épais.
Voici le code que récupéré sur un tutorial et modifié pour l'occasion:
[CODE]import mx.controls.Tree;
_global.style.setStyle("themeColor", "0xFF7300");
_global.style.setStyle("fontSize", 12);
_global.style.setStyle("Color", "0x0F218B");
var ac = this.accordion;
ac.color = 0x0F218B;
ac.createChild( Tree, "demarrerF", { label: " DEMARRER", _width: 300, _height: 610 } );
var monDemarre = accordion.getChildAt( 0 );
monDemarre.vScrollPolicy = "auto";
monDemarre.setStyle("openEasing", mx.transitions.easing.Back.easeInOut );
monDemarreDataProvider = new XML();
monDemarreDataProvider.ignoreWhite = true;
monDemarreDataProvider.load("demarrer.xml");
monDemarreDataProvider.onLoad = function(){
monDemarre.dataProvider = this;
}
MonDemarre.backgroundColor = 0x0F218B;
MonDemarre.setStyle("folderOpenIcon", "carre_orange");
MonDemarre.setStyle("folderClosedIcon", "carre_orange");
MonDemarre.setStyle("disclosureClosedIcon", "plus");
MonDemarre.setStyle("disclosureOpenIcon", "moins");
MonDemarre.setStyle('rollOverColor', '0xC3CAD1');
MonDemarre.setStyle('fontFamily', 'Arial');
MonDemarre.setStyle('color', 0xFFFFFF);
eventListener = new Object();
eventListener[ "tree" ] = monDemarre;
eventListener.change = function(eventObject){
if ( eventObject.target._name == "demarrerF" ){
var theSelectedNode = eventObject.target.selectedNode;
var theSelectedNodeLabel = theSelectedNode.attributes.label;
var esLink = theSelectedNode.attributes.isLink;
var esBranch = this.tree.getIsBranch( theSelectedNode )
if ( esBranch ){
if ( this.tree.getIsOpen( theSelectedNode ) ){
this.tree.setIsOpen( theSelectedNode, false, true );
}else{
this.tree.setIsOpen( theSelectedNode, true, true );
}
}else{
if ( esLink ){
var theSelectedNodeSWF = theSelectedNode.attributes.swf;
loadMovie ( "swf/"+theSelectedNodeSWF, MCclip);
}
}
}
}
monDemarre.addEventListener("change", eventListener); [/CODE]
Quelqu'un peut-il m'éclairer et me dire comment coder ces deux boutons ?
Merci d'avance pour vos réponses.
Réponses
|