[XML] probleme redaction

Résolu
jarlaath Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 1 octobre 2008 - 7 mars 2008 à 11:48
jarlaath Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 1 octobre 2008 - 7 mars 2008 à 17:08
Bonjour,
je suis en train de créer une animation pour flash avec du XML et je me trouve devant un probleme. J'aurais aimé faire en sorte de pouvoir faire un lien vers une page web directement dans mon code XML mais voila je ne sais pas comment faire. Auriez vous une idée? 
 Voici les codes:


XML










 




FLASH


var xml:XML = new XML();
xml.ignoreWhite = true;


xml.onLoad = function()
{
 var nodes = this.firstChild.childNodes;
 numOfItems = nodes.length;
 for(var i=0;i<numOfItems;i++)
 {
  var t = home.attachMovie("item","item"+i,i+1);
  t.angle = i * ((Math.PI*2)/numOfItems);
  t.onEnterFrame = mover;
  t.toolText = nodes[i].attributes.tooltip;
  t.content = nodes[i].attributes.content;
  t.icon.inner.loadMovie(nodes[i].attributes.image);
  t.r.inner.loadMovie(nodes[i].attributes.image);
  t.icon.onRollOver = over;
  t.icon.onRollOut = out;
  t.icon.onRelease = released;
 }
}


merci d'avance

6 réponses

sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
7 mars 2008 à 14:47
Oké !
Alors c'est cool, j'avais bien compris :)
Pour ton code, t'as déjà un certain nombres de variables que tu crées pour stocker tes données XML :
t.toolText = nodes[i].attributes.tooltip;
t.content = nodes[i].attributes.content;
Tu peux rajouter à la suite
t.mon_lien=nodes[i].attributes.lien

Et dans ta fonction exécutée au "onRelease", faudra rajouter quelque chose pour utiliser cette variable "mon_lien" (ou plutôt "this._parent.mon_lien" si j'ai bien suivi). Pour ouvrir une page html, la fonction est getURL. Mais si tu veux ouvrir dans une nouvelle fenêtre (ou pire, dans une popup), renseigne toi bien, parce que contourner les anti-popups, ça devient coton...
3
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
7 mars 2008 à 14:21
Salut !
Je sais pas si c'est c'que tu veux, mais tu peux rajouter le lien comme attribut dans ta balise XML :
<icon image="icon1.png" lien="machin.html" ....
et ensuite l'utiliser avec nodes[i].attributes.lien
Mais encore une fois, j'suis pas sûr d'avoir compris le rôle de ce lien, donc si je suis complètement dans l'erreur, précise ta question.
0
jarlaath Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 1 octobre 2008
7 mars 2008 à 14:28
Bonjour a toi,
Tout d'abord merci pour ta reponse rapide. En fait ce lien va servir a aller sur un page web quand on cliquera sur le texte:
"tooltip="Bague or et diamants" content="Or Jaune : 750 ? 2.23 grammes        Diamant : 0.005 carats".

Par contre je suis encore novice en terme d'actions script et je dois t'avouer que je ne sais pas trop où placer ton code , "nodes[i].attributes.lien".
Encore merci a toi.
0
jarlaath Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 1 octobre 2008
7 mars 2008 à 15:10
Merci a toi pour tes réponses. Je dois t'avouer que je suis trés novice en actionscript mais je v m'a pencher rapidement. Je travaille actuellement dans une boite qui m'a demandé de la depanner avec une anim flash, le truc c que j'ai recopier un code et que je me suis embrouillé, j'ai bien compris ce que tu m'a dis de faire a part ceci "Et dans ta fonction exécutée au "onRelease", faudra rajouter quelque chose pour utiliser cette variable "mon_lien" (ou plutôt "this._parent.mon_lien" si j'ai bien suivi). Pour ouvrir une page html, la fonction est getURL. " Si je fais cela, c l'image qui aura le lien non?

je te met les liens des fichiers car c'est plus compréhensible:

http://www.distri-web.fr/test/icons.xml
http://www.distri-web.fr/test/carousel3.swf

rncore merci pour ta réponse plus haut
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sinippe Messages postés 137 Date d'inscription dimanche 24 avril 2005 Statut Membre Dernière intervention 7 août 2008
7 mars 2008 à 16:01
Je vois mieux c'que tu veux dire...
Alors, pour avoir ton lien sur le texte qui vient s'afficher ensuite, le mieux c'est peut être, vu comme ça a l'air d'être fait, d'avoir derrière tes champs texte "toolTexte" et "content" un bouton vide (c'est à dire avec seulement une forme dans l'état "cliqué"), bouton sur lequel portera l'action. Donc dans ta boucle for, tu pourras ajouter : t.le_bouton_vide.onRelease=function() { getURL(this._parent.mon_lien); //pour reprendre c'qui a été écrit au dessus }
La difficulté si tu débutes, c'est surtout de savoir où se trouvent tes variables et de pouvoir les retrouver par exemple dans tes actions boutons, etc etc... Le mieux si t'as un doute c'est de faire des trace(...) et d'essayer avec this.la_variable, this._parent.la_variable, this._parent._parent.la_variable, etc...
L'autre solution c'est d'avoir tes champs texte au format html, et d'écrire le contenu en rajoutant des <a href="..." mais tu t'embrouilleras sans doute moins avec la 1ère solution.

Bon courage à toi !
0
jarlaath Messages postés 34 Date d'inscription mardi 20 mars 2007 Statut Membre Dernière intervention 1 octobre 2008
7 mars 2008 à 17:08
Un grand merci a toi, je vais voir si j'y arrive avec tout ça.
0
Rejoignez-nous