作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 引入的類別之事件的處理
時間Fri Aug 29 23:39:26 2008
※ 引述《ayuiop ((茶))》之銘言:
: public class URLLoad extends Sprite {
: public function URLLoad(filename:String) {
: var request:URLRequest = new URLRequest(filename);
: request.method = 'POST';
: var TextData:URLLoader = new URLLoader();
: TextData.addEventListener(Event.COMPLETE, completeHandler);
: try {
: TextData.load(request);
: } catch (error:Error) {
: ...
: }
: }
: private function completeHandler(event:Event):void {
: //對資料進行剖析
: }
: }
: 那...該怎麼讓主程式知道檔案讀完了呢?
把textData變成一個public property應該就可以了
然後把constructor改成一個普通method
public class URLLoad extends Sprite {
//改成一個public property(我改名叫loader比較簡單)
public var loader:URLLoader = new URLLoader();
//從constructor改成一個普通method
public function load(fileName:String) {
loader.load(new URLRequest(fileName));
}
public funciton comp(e:Event):void {
//...
}
}
然後主程式寫
var urlLoad:URLLoad = new URLLoad();
urlLoad.loader.addEvetnListener(Event.COMPLETE, urlLoad.comp);
urlLoad.load(...);
不過我還是不知道你為什麼要這樣寫耶
單純的URLLoader載入外部資料不是直接寫在主程式裡面就好了嗎
var loader:URLLoader = new URLLoader();
loader.addEvetnListener(Event.COMPLETE, done);
loader.load(new URLRequest(...));
function done(e:Event):void {
//...
}
code寫得比較少,而且也比較不會搞混
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.95.53
→ cjcat2266:然後這個class也不太需要身為Sprite的subclass吧 08/29 23:40
→ cjcat2266:感覺完全沒用到Sprite的特性 08/29 23:41
推 ayuiop:了解 受教了 這一切都是因為我直接抄F1裡面的範例再來改而 08/29 23:44
→ ayuiop:造成的混亂XD" 08/29 23:45