2009-08-30 6 views
0

私はActionscriptで行うのが最も簡単なことの一つをしようとしていますが、コードはXMLの第3ノードで動作したいと思うようです。ここ はXMLコードです:Flash AS2 + XML

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"); 

OK:

<?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コードです。トレースコマンドでは、彼はpngウェルの名前を出力しますが、実際には 'for'反復の最後にmovieClipを付加するだけです。私は映画をデバッグしようとした、と言っても、私は= 0または1

ああ、私は二重像フォルダ、ファイル名、およびなどを確認し、ムービーを添付していない任意のための

感謝助けて。

答えて

1

はちょうどあなたの問題を発見し、幸いにもそれはあなたがそう、highestDepthが変化しない、_rootするクリップを追加していないので、:)

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

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

する必要がありますマイナーです各繰り返しで、前のクリップを同じ深度で上書きしていました。

+0

私の愚かなこと!どうもありがとう! –

関連する問題