Flash AS2 + XML - PullRequest
       12

Flash AS2 + XML

0 голосов
/ 30 августа 2009

Я пытаюсь сделать одну из самых простых вещей в Actionscript, но, похоже, код просто хочет работать с 3-м узлом XML. Вот код XML:

<?xml version="1.0" encoding="utf-8"?>
<flags>
  <flag>
    <sigla>pt-br</sigla>
    <png>brazil.png</png>
    <nome>Portugues</nome>
  </flag>
  <flag>
    <sigla>esp</sigla>
    <png>spain.png</png>
    <nome>Espanol</nome>
  </flag>
  <flag>
    <sigla>en</sigla>
    <png>usa.png</png>
    <nome>English</nome>
  </flag>
</flags>

А вот код AS2:

var flagsXML = new XML();
flagsXML.ignoreWhite = true;
_root.linkFlags = "";
_root.flagSpacing = 5;

flagsXML.onLoad = function(success:Boolean){
 if(success){
  flagsNode = flagsXML.firstChild;
  flagsTotal = flagsNode.childNodes.length;
  for(i=0;i<flagsTotal;i++){
   //var flagItem = new MovieClip();
   flagItem = flagsMc.attachMovie("idioma","idioma"+i,_root.getNextHighestDepth());
   flagItem.png.loadMovie("img_idiomas/"+String(flagsNode.childNodes[i].childNodes[1].childNodes[0].nodeValue));
   //loadMovie("img_idiomas/"+flagsNode.childNodes[i].childNodes[1].childNodes[0].nodeValue);
   flagItem._x -= 16*(i+1);
   trace("sigla"+i+": "+flagsNode.childNodes[i].childNodes[1].childNodes[0].nodeValue);
  }
 }
}
flagsXML.load("xml/flags.xml");

ки. В командах Trace он выводит имя png, но на самом деле он только присоединяет мувиклип в последней итерации. Я попытался отладить фильм, но он даже не прикрепляется, когда я = 0 или 1.

Ах, я дважды проверил папку с изображениями, имена файлов и т. Д.

Спасибо за любую помощь.

1 Ответ

1 голос
/ 30 августа 2009

Просто заметил вашу проблему, и, к счастью, она незначительна:)

flagItem = flagsMc.attachMovie("idioma","idioma"+i,_root.getNextHighestDepth());

должно быть

flagItem = flagsMc.attachMovie("idioma","idioma"+i,flagsMc.getNextHighestDepth());

, так как вы не добавляете клипы в _root, самая высокая глубина не меняется, поэтому при каждой итерации вы перезаписывали предыдущий клип на той же глубине.

...