[問題] 有關外部元件庫取用的實作
目前的情況
有個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
推
03/07 13:54, , 1F
03/07 13:54, 1F
→
03/07 13:55, , 2F
03/07 13:55, 2F
→
03/08 02:10, , 3F
03/08 02:10, 3F
→
03/08 02:11, , 4F
03/08 02:11, 4F
→
03/08 02:13, , 5F
03/08 02:13, 5F
→
03/08 02:14, , 6F
03/08 02:14, 6F
→
03/08 02:14, , 7F
03/08 02:14, 7F
→
03/14 17:41, , 8F
03/14 17:41, 8F
推
03/17 10:28, , 9F
03/17 10:28, 9F
推
03/18 18:40, , 10F
03/18 18:40, 10F
Flash 近期熱門文章
PTT數位生活區 即時熱門文章