COMPOSANT TREE ET ACTION ASSOCIÉE

cs_interneto Messages postés 2 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 26 décembre 2005 - 26 déc. 2005 à 12:59
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009 - 25 juin 2009 à 10:50
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/35083-composant-tree-et-action-associee

tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
25 juin 2009 à 10:50
hum... pardon ça marche au poil :)
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
25 juin 2009 à 10:08
Désolé de parler tout seul, mais bon encore un dernier souci... En fait, le dernier code marche bien quand le fla est ouvet. Quand le fla est ouvert, le swf marche bien, et quand le fla est fermé, il ne arche que deux ou trois fois.

De la même manière, au format html, ne fonction que deux ou trois fois, puis les swf ne se charge plus...

Est-ce qu'il ne manquerait pas une ligne du genre "décharger" ou réinitialiser etc...

Merci d'avance,

tristan :)
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
25 juin 2009 à 08:32
heu désolé, 1 _
blank est resté dans le code, mais il ne sert à rien bien entendu...
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
25 juin 2009 à 08:30
Sinon ça marche nickel comme ça :) !!

stop();
// Chargement du fichier tree.XML pour afficher l'arbre
var contenu_arbre:XML = new XML();
contenu_arbre.ignoreWhite=true;
contenu_arbre.onLoad = function(success:Boolean){
arbre.dataProvider = contenu_arbre;
}
contenu_arbre.load("tree.xml");
// fonction qui récupère la valeur src du noeud sélectionné
var treeListener:Object = new Object();
treeListener.change = function(evt:Object) {
var treeNode:XMLNode = evt.target.selectedItem;
if (treeNode.attributes.src != undefined) {
// charge la src en movie
charge_load.loadMovie(treeNode.attributes.src, _blank);
;
}
}

arbre.addEventListener("change", treeListener);
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
24 juin 2009 à 16:32
Bonsoir Cefar,

j'ai essayé mais ça ne fonctionne pas, je ne comprends pas... Voici le code au cas où...

//Une class que j'ai trouvé sur ce site et qui fonctionne bien, pour avoir un petit champ recherche

import com.wikimb.TreeDoc

var single = new TreeDoc(docTree, searchField, activeChange);
single.load("truc.xml");
single.onSelect = function (item:XMLNode) {
trace(item);
}
// fonction qui récupère la valeur src du noeud sélectionné
var treeListener:Object = new Object();
treeListener.change = function(evt:Object) {
}
var treeNode:XMLNode = evt.target.selectedItem;
if (treeNode.attributes.src != undefined) {
}
//LE nouveau code pour charger MovieCLip, les .swf de la valeur src

chargeMovie(treeNode.attributes.src);
function chargeMovie(monMovieClip:String):Void {
charge_load.autoLoad = false;
charge_load.contentPath = monMovieClip;
charge_load.load();
}

docTree.addEventListener("change", treeListener);
stop();
// Chargement du fichier tree.XML pour afficher l'arbre
var contenu_docTree:XML = new XML();
contenu_docTree.ignoreWhite=true;
contenu_docTree.onLoad = function(success:Boolean){
docTree.dataProvider = contenu_docTree;
}
contenu_docTree.load("truc.xml");

Quelqu'un voit-il l'erreur ? Je ne comprends pas pourquoi ça ne marche pas.

ça ne vient pas du fichier xml. Il marchait parfaitement quand il s'agissait d'afficher src en text dynamique.

ça ne vient pas de l'ajout du champs de recherche, puisque j'ai aussi fait l'essai directement sur tree.fla.

ça ne vient pas du swf que je veux charger, car j'arrive à le charger indépendamment du tree component.

J'ai pensé à nommer charge_load l'occurence de loader,

Là je ne vois pas du tout ce que c'est...

Trop triste, trop prêt du but, trop pas de solution abordable à mon petit niveau...
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
24 juin 2009 à 13:49
Je n'ai pas encore essayé, mais merci beaucoup de ta réponse, je post un commentaire en retour après le test !!
cefar Messages postés 19 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 28 avril 2008
24 juin 2009 à 13:43
Bonjour,
Dans l'exemple j'ai mis un champ texte dynamique(variable treeUrl) pour simplement indiquer la valeur récupérée lors du clic sur un noeud.
Pour charger un movie-clip, dans le fichier xml, met les noms de tes movie clip dans l'attribut src, avec ton attribut label adequat.
Ensuite, insère un composant "loader" dans la scène et ajoute une fonction de chargement du movie-clip dans le loader.

Par exemple,
Dans le fichier xml, j'aurais <node label='clip 1' src='monClip1.swf'></node>

et dans le fla :
la ligne "treeUrl = treeNode.attributes.src;" deviendrait :

chargeMovie(treeNode.attributes.src);
function chargeMovie(monMovieClip:String):Void {
charge_load.autoLoad = false;
charge_load.contentPath = monMovieClip;
charge_load.load();
}

où charge_load est l'occurence du composant Loader.

En espérant t'avoir aider
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
23 juin 2009 à 12:35
Bonjour !
"Le clic sur un noeud retourne la valeur de la variable "src" dans le texte dynamique treeUrl. Cela peu-être une url, un movie clip etc..."

Comment faire justement pour que la variable "src" soit un movie clip ou autre chose que du simple texte ?

Pleeaaase... :)
tristancoindet Messages postés 36 Date d'inscription vendredi 12 juin 2009 Statut Membre Dernière intervention 12 juillet 2009
19 juin 2009 à 14:13
bonjour, merci pour cette source qui fonctionne très bien

Question :

Comment faut-il faire pour que le clic sur un nœud insére un movie clip ou autre un bouton sur le swf plutôt que seulement du texte dynamique ?

Merci de vos réponse,même si la question est probablement un peu naïve :)

à++
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
16 janv. 2009 à 15:28
oui je te comprends dans le sens où moi aussi j'aimerais bien... acheter du temps en plus si ils en vendaient au supermarché du coin :D
Mais en parallèle, j'ai posé la question inverse visà vis de la source dont j'ai mis le lien... on ne sait jamais et de plus je vais plusieurs pitites tentatives ici et là.
cefar Messages postés 19 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 28 avril 2008
16 janv. 2009 à 14:37
Bonjour,
La recherche dans l'arborescence, pourquoi pas !
J'aurais du mal à répondre à cela, car je n'ai malheureusement pas le temps actuellement de me mettre dessus. Et il faut que je me remette à l'AS, que j'ai délaissé ces derniers temps pour d'autre projet.
vegetalain Messages postés 747 Date d'inscription mardi 25 mars 2003 Statut Membre Dernière intervention 11 août 2022
16 janv. 2009 à 10:22
C'est super cool. Est-ce qu'il y a un moyen de faire une recherche dans l'arborescance? Il y a une source que j'ai vu qui faisait ça : http://www.flashkod.com/code.aspx?ID=31701, mais j'ai du mal à combiner les deux là!
ciagar Messages postés 12 Date d'inscription mardi 11 mars 2003 Statut Membre Dernière intervention 1 février 2007
18 déc. 2006 à 17:32
Merci
cs_interneto Messages postés 2 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 26 décembre 2005
26 déc. 2005 à 12:59
Bon code, clair et efficace
Rejoignez-nous