Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1206 connectés 

  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Appeler une fonction GetUrl dans un fichier XML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Appeler une fonction GetUrl dans un fichier XML

n°1247281
Dolby
Posté le 17-11-2005 à 01:52:41  profilanswer
 

Bonjour,
pour shématiser mon souci, j'ai une carte flash qui via un fichier xml, on peut positionner des 'points rouges' en y et x et donner des informations textuelles quand on passe la souris sur un de ces points, une boite afficher des info.
 
En image:
http://dolby.bugiweb.com/web/mapxml/mapxml.jpg
 
 
J'aimerai également donc cliquer sur un 'bouton rouges' qui ouvrira une URL, je voudrais permettre de rentrer l'url directement dans le fichier xml.
 
 
Voici le code qui appelles toutes ces fonctions:
 

Code :
  1. function shipsLoad(success)
  2. {
  3.     var i = 0;
  4.     while (i < this.childNodes.length)
  5.     {
  6.         if (this.childNodes[i].nodeName == "map-items" )
  7.         {
  8.             createObjects(this.childNodes[i]);
  9.         } // end if
  10.         i++;
  11.     } // end while
  12. } // End of the function
  13. function createObjects(itemNodes)
  14. {
  15.     //trace(itemNodes.childNodes.length);
  16.     var i = 0;
  17.     while (i < itemNodes.childNodes.length)
  18.     {
  19.         if (itemNodes.childNodes[i].nodeName == "map-item" )
  20.         {
  21.             //trace("type is: " + itemNodes.childNodes[i].attributes.type);
  22.             if (itemNodes.childNodes[i].attributes.type == "nuke" )
  23.             {
  24.                 //trace("Creating Nuke!ship" + _root.iconCount);
  25.                 _root.map.attachMovie("masterNuke", "ship" + _root.iconCount, _root.iconCount + 20);
  26.                 newShip = eval("_root.map.ship" + _root.iconCount);
  27.                 _root.iconList.push(newShip);
  28.                 newShip._xscale = 25 * getZoom(itemNodes.childNodes[i]);
  29.                 newShip._yscale = 25 * getZoom(itemNodes.childNodes[i]);
  30.             } // end if
  31.             newShip._x = getLocationX(itemNodes.childNodes[i]);
  32.             newShip._y = getLocationY(itemNodes.childNodes[i]);
  33.             newShip.description = getDescription(itemNodes.childNodes[i]);
  34.             newShip.nukeName = getNukeName(itemNodes.childNodes[i]);
  35.             newShip.locationDesc = getLocDesc(itemNodes.childNodes[i]);
  36.             _root.iconCount++;
  37.         } // end if
  38.         i++;
  39.     } // end while
  40. } // End of the function
  41. function getLocationX(itemNode)
  42. {
  43.     var i = 0;
  44.     while (i < itemNode.childNodes.length)
  45.     {
  46.         if (itemNode.childNodes[i].nodeName == "location" )
  47.         {
  48.             return(itemNode.childNodes[i].attributes.x);
  49.         } // end if
  50.         i++;
  51.     } // end while
  52. } // End of the function
  53. function getLocationY(itemNode)
  54. {
  55.     var i = 0;
  56.     while (i < itemNode.childNodes.length)
  57.     {
  58.         if (itemNode.childNodes[i].nodeName == "location" )
  59.         {
  60.             return(itemNode.childNodes[i].attributes.y);
  61.         } // end if
  62.         i++;
  63.     } // end while
  64. } // End of the function
  65. function getDescription(itemNode)
  66. {
  67.     var i = 0;
  68.     while (i < itemNode.childNodes.length)
  69.     {
  70.         if (itemNode.childNodes[i].nodeName == "description" )
  71.         {
  72.             return(itemNode.childNodes[i].firstChild.nodeValue);
  73.         } // end if
  74.         i++;
  75.     } // end while
  76. } // End of the function
  77. function getxmlurl(itemNode)
  78. {
  79.     var i = 0;
  80.     while (i < itemNode.childNodes.length)
  81.     {
  82.         if (itemNode.childNodes[i].nodeName == "url" )
  83.         {
  84.             return(itemNode.childNodes[i].firstChild.nodeValue);
  85.         } // end if
  86.         i++;
  87.     } // end while
  88. } // End of the function*/
  89. function getNukeName(itemNode)
  90. {
  91.     var i = 0;
  92.     while (i < itemNode.childNodes.length)
  93.     {
  94.         if (itemNode.childNodes[i].nodeName == "name" )
  95.         {
  96.             return(itemNode.childNodes[i].firstChild.nodeValue);
  97.         } // end if
  98.         i++;
  99.     } // end while
  100. } // End of the function
  101. function getLocDesc(itemNode)
  102. {
  103.     var i = 0;
  104.     while (i < itemNode.childNodes.length)
  105.     {
  106.         if (itemNode.childNodes[i].nodeName == "locationDesc" )
  107.         {
  108.             return(itemNode.childNodes[i].firstChild.nodeValue);
  109.         } // end if
  110.         i++;
  111.     } // end while
  112. } // End of the function
  113. shipsXML = new XML();
  114. shipsXML.onLoad = shipsLoad;
  115. shipsXML.load("ships.xml" );
  116. //trace("trying to load xml..." );
  117. stop();


 
le XML:

Code :
  1. <map-item type="nuke">
  2. <location x="86" y="-116"/>
  3. <name>Mr Andre Dupuis</name>
  4. <description>Ferme des chat sauvage eleve des cochons des rats et des legumes</description>
  5. <locationDesc> Clos del creux 17 4633 Melen - 0485/860.367</locationDesc>
  6. <url>http://www.hardware.fr/</url>
  7. <zoom>1</zoom>
  8. </map-item>


 
J'ai tenté de faire :

Code :
  1. newShip.url = getxmlurl(itemNodes.childNodes[i]);
  2. newShip.onRelease = function() {
  3. getURL(this.url, "_blank" );
  4. }


 
ou encore:

Code :
  1. onRelease = function () { getURL("itemNode", _blank); }


en dessous des fonctions newShip._x = getLocationX(itemNodes.childNodes[i]);  mais sans succes..
 
Je suis un peu perdu donc ! Comment procéder  :sweat:


Message édité par Dolby le 17-11-2005 à 02:14:30
mood
Publicité
Posté le 17-11-2005 à 01:52:41  profilanswer
 

n°1247295
Dolby
Posté le 17-11-2005 à 03:17:10  profilanswer
 

Solution trouvé par Mr Mala ! :)

n°1247355
mechkurt
Posté le 17-11-2005 à 09:39:56  profilanswer
 

fait un lien pointant sur la solution trouvé, ca pourrat aider les gens qui commencent par faire une recherche avant de poster ;)
 
EDIT:en regardant brievement il semblerait que tu ai mis ta variable d'URL entre guillemet dans ton getURL, Falsh pense donc a une chaine de caracteres et non au nom d'une variable...


Message édité par mechkurt le 17-11-2005 à 09:43:40

---------------
D3
n°1249205
Mr Mala
Posté le 20-11-2005 à 03:01:09  profilanswer
 

Non c'était pas ça le problème ...
Son .fla était on ne peut plus bordelique et il plaçait simplement son onRelease au mauvais endroit ! :p


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Flash/ActionScript

  Appeler une fonction GetUrl dans un fichier XML

 

Sujets relatifs
XML vers PHPAide sur un fichier Data...SVP
imprimer fichier en vbsParcours d'un hash de données XML
Appeler BDD phpMyAdmin en VB : comment faire SVPcreation d'un fichier texte avec visual C++
Fonction qui zappe les balises HTMLPlugin Eclipse pour XML/XSD/XSL/DTD
Erreur "fonction" is multiply-defined...Idée de projet mettant en oeuvre XML
Plus de sujets relatifs à : Appeler une fonction GetUrl dans un fichier XML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR