看板 Flash 關於我們 聯絡資訊
目前的情況 有個main.fla 有個library.fla 然後main.fla要去使用library.fla的元件 == 情況1 == main.fla var loader:Loader=new Loader() loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded) loader.load(new URLRequest("library.swf")) addChild(loader) function loaded(e:Event){ e.currentTarget.content.mc.gotoAndPlay(1) } -- library.fla 將所需MovieClip放到舞台上並且命名為mc -- 這樣可以在main.fla操控在library.swf內的mc == 情況二 == main.fla var mc var loader:Loader=new Loader() loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loaded) loader.load(new URLRequest("library.swf")) addChild(loader) function loaded(e:Event){ mc=e.currentTarget.content.add_mc() } -- library.fla 將元件庫內所需MovieClip命名為mc function add_mc(){ var obj=new mc with(obj){ x=100 y=100 } addChild(obj) return(obj) } -- 這樣一來可以操控library新增元件 並且將其絕對位置回傳給main.swf 之後就算在main.swf呼叫mc.x+=100 也可以針對loader內的library.swf進行操控 == 現在的問題是目前library.swf只有一個元件要呼叫 如果元件一多 使用同一個function add_mc 新增不同的元件時務必要有傳入值 1.使用數字作辨認: 可能會因為自己搞混而在某一天鬼打牆 2.使用字串作辨認: 每次增加新的元件庫元件就得多寫一行switch 而且如果設定 "mc播放完畢後會自砍並且呼叫main.swf進入下一個程序" 那麼關於傳回值的字串勢必又是一串switch 3.直接使用元件庫名稱作確認 例如e.currentTarget.content.add_mc(mc_target) (mc_target是library的元件庫識別名稱) 那麼因為main.swf沒有mc_target這個名稱 出現無法辨識而錯誤 就統一管理library來說 使用第二種方法呼叫載入應該是比較正確的方法 但是關於辨識的過程就會需要來回修改兩個fla 如果使用第一種方法 用的是同一個library.swf的話 那麼需要將所有物件先放到舞台上並且分別命名元件實體名稱 以供備用 如果不希望因此造成混雜 那麼可能會需要在main.fla裡面宣告多個loader 並且每個元件製作一個swf然後放到舞台上命名 然後針對每個loader1.content.mc.gotoAndPlay(1) loader2.content.mc.stop() ... 但是好處是幾乎只要修改main.fla 元件庫只要新增一個swf並且命名為mc之後就可以放著不管了 而且第一種方法可以做到分批載入 第二種方法則是一次將整個所需檔案載入 == 不知道各位認為哪種方法比較好 還是有更好的方法 原本想將第一種方法改良成第二種方法 統一成同一個元件庫檔 結果卻發現意外的麻煩 使用第一種方法還比較直覺的辨識名稱 -- 「...けっ...けっこん...祐一と...結婚したい...」 「真琴...ごめんねぇ...やっばり無理です...」 「ど...どうして?」 「だ...だから...それならば...じゅ...ジュってなるでしょう?」 「...もう...祐一のエッチ!!!」     Kanon 01/06 イベント 「俺のペット」 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.208.31
etrexetrex:這個問題有很多種解法 有一種東西叫做swc 03/07 13:54
etrexetrex:大師上次有教過 swc 並不是最佳解 但我上課沒認真聽 03/07 13:55
ticore:我意思是Flash/Flex整合用SWC不是最好的 03/08 02:10
ticore:但是就Library來說,SWC是OK的,兩者不衝突 03/08 02:11
ticore:樓主想要的是動態元件庫?執行期動態載入使用的? 03/08 02:13
ticore:假如是這樣,推薦用SWC,然後將SWC設為External 03/08 02:14
ticore:用Loader動態載入RSL 03/08 02:14
s9014035:那2者整合用什麼比較好@@(沒法去聽課的人XDD 03/14 17:41
s9014035:感謝ticore哥~ 03/18 18:40