[問題] 求問AS3外部XML取值問題

看板Flash作者 (星夜貓)時間17年前 (2008/11/19 17:27), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/3 (看更多)
請問各位版大,我在.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

11/20 11:25, , 1F
你的LoadXMLExample constructor不會等addEventListener跑完
11/20 11:25, 1F

11/20 11:25, , 2F
所以理所當然會傳回null
11/20 11:25, 2F

11/20 11:26, , 3F
打錯,不會等Listen的Event (handleComplete(...))
11/20 11:26, 3F

11/20 11:26, , 4F
你可以設計成handleComplete會callback一個function
11/20 11:26, 4F

11/20 11:26, , 5F
然後在那個function做你想處理的東西(like AJAX)
11/20 11:26, 5F

11/21 01:41, , 6F
用RETURN拉!
11/21 01:41, 6F

11/21 11:03, , 7F
搞定了~~感恩^^
11/21 11:03, 7F
文章代碼(AID): #198zl_Xj (Flash)
文章代碼(AID): #198zl_Xj (Flash)