看板 Flash 關於我們 聯絡資訊
請問各位版大,我在.as裡寫了一個package package { import flash.display.*; import flash.events.*; import flash.net.*; import flash.utils.*; public class LoadXMLExample extends Sprite { public var example:XML; public function LoadXMLExample() { var loader:URLLoader = new URLLoader(); loader.addEventListener(Event.COMPLETE, handleComplete); loader.load( new URLRequest ( "music.xml" ) ); } private function handleComplete(event:Event):void { try { example = new XML(event.target.data); trace(example); } catch ( e:TypeError ) { trace("Could not parse text into XML"); trace( e.message ); } } } } 到這邊我trace(example)是可以抓到XML的,可是當我從.fla讀取時卻抓不到。 以下為.fla的程式碼 import LoadXMLExample; var handleComplete:LoadXMLExample = new LoadXMLExample(); var dataXML:XML = handleComplete.example; trace(dataXML); 我trace(dataXML)卻印出null,一直想不出哪裡有問題,肯請各位版大幫忙看一下。 感恩! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.216.205
ybite:你的LoadXMLExample constructor不會等addEventListener跑完 11/20 11:25
ybite:所以理所當然會傳回null 11/20 11:25
ybite:打錯,不會等Listen的Event (handleComplete(...)) 11/20 11:26
ybite:你可以設計成handleComplete會callback一個function 11/20 11:26
ybite:然後在那個function做你想處理的東西(like AJAX) 11/20 11:26
klit1987:用RETURN拉! 11/21 01:41
jojozyzy:搞定了~~感恩^^ 11/21 11:03