目前我都是用一行解決外部傳來的變數

var XML_URL:String=stage.loaderInfo.parameters.XMLPath || "mySquare.xml";

 

宣告變數

public var xmlLoader:URLLoader = new URLLoader();

宣告當xmlLoader讀完後所引發的事件

//讀完後就去執行showXML函式

xmlLoader.addEventListener(Event.COMPLETE, showXML);

然後myXMLPath是我自己命名從外部傳進來的變數

//如果沒有指定變數的話,就讀跟Flash檔同一層的default.xml檔

//要不然就是讀我們自己指定的XML路徑

if(loaderInfo.parameters.myXMLPath == undefined || loaderInfo.parameters.myXMLPath =="")
            {
                xmlLoader.load(new URLRequest("default.xml"));
            }
            else
            {
                xmlLoader.load(new URLRequest(loaderInfo.parameters.myXMLPath));
            }

讀完了

就會執行showXML函式

public function showXML(e:Event):void

{

     var mycool:XML = new XML(e.target.data);

===============我是註解=======================

     之後就可以用mycool.setting.hello.text()去讀XML的內容了

     像上面那句就可以讀到下面XML的"你好"

     <setting>

      <hello>

        你好

      </hello>

     </setting>

===========================================

}

 

另外補上HTML裡面傳來的外部變數

<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="600" height="300">
<param name="movie" value="flash/MyFlash.swf">
<param name="quality" value="high">
<param name="FlashVars" value="myXMLPath=xml/MyFlash.xml">
<embed src="flash/MyFlash.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="600" height="300"></embed>
</object>
</body>

welkingunther 發表在 痞客邦 PIXNET 留言(0) 人氣()