2010-02-22 4 views
0

Je travaille sur un script Flash AS2 qui ajoute une instance d'un MovieClip pour chaque nœud dans un fichier XML. J'ai également inclus des titres pour chaque noeud dans le fichier XML et je voudrais les afficher quand un utilisateur clique sur l'un des clips vidéo individuels. J'ai joué avec clipevents et attachMovie mais pour la vie de moi je ne peux pas comprendre comment aborder ce problème. Des idées?Données XML Flash, Titre du nœud d'affichage sur le clic

Ok Maintenant, avec le script de mise à jour - oui!

var myXML:XML = new XML(); 
myXML.ignoreWhite=true; 
myXML.load("map.xml"); 
myXML.onLoad = function(success) { 
if (success) { 
var myPin = myXML.firstChild.childNodes; 
for (i=0; i<myPin.length; i++) { 

var pinNumber = i+1; 

_root.attachMovie("box", "pin"+i, _root.getNextHighestDepth()); 
var xpos = Number(myPin[i].attributes["xpos"]); 
var ypos = Number(myPin[i].attributes["ypos"]); 
_root["pin" + i]._x = xpos; 
_root["pin" + i]._y = ypos; 
_root["pin" + i].popup.titleBox.text = myPin[i].firstChild.nodeValue; 

_root["pin" + i].popup._visible = false;// hide the title to begin with 
_root["pin" + i].onRelease = function() { //when the pin is clicked... 
_root["pin" + i].popup._visible=!_root["pin" + i].popup._visible; //toggle the titleBox's visibility 
} 

} 
} 
}; 

Répondre

0

bienvenue à SO.

Vous pouvez essayer quelque chose comme ça (lors de la création de chaque broche):

_root["pin" + i].titleBox._visible = false;// hide the title to begin with 

_root["pin" + i].onRelease = function() { //when the pin is clicked... 
this.titleBox._visible=!this.titleBox._visible; //toggle the titleBox's visibility 
} 

(EDIT: La fonction a changé onRelease à utiliser 'this.titleBox')

Les détails dépendra de la façon exactement vous voulez qu'il se comporte.

Espérons que cela aide.

+0

Cela a beaucoup de sens. Cela faisait si longtemps que je travaillais avec Flash, j'ai complètement oublié la visibilité. J'ai encore quelques problèmes - il semble que la zone de texte se cache avec succès et j'ai suivi la fonction onRelease, donc je sais que cela fonctionne correctement. Cependant, cela ne fait pas apparaître la boîte de texte. Grrr ... – Thomas

+0

Je vois que vous avez titleBox.titleBox.text ... est-ce correct? –

+0

J'ai vu ça aussi, apparemment j'ai transformé le texte dynamique en un MovieClip il y a des siècles. J'ai remplacé le symbole par une zone de texte dynamique standard et j'ai changé le code en titleBox.text - toujours pas bon. – Thomas

Questions connexes