Re: [問題] 繼承 vs 轉型

看板Flash作者 (邦邦)時間12年前 (2011/09/26 17:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
若 Lobby.swf 中,完全不認識 class Sector 的話, 則當 Lobby.swf 將 Sector.swf 載入完成後, getDefinition() 取得的 Class 所建立的 instance,將無法轉型為 class Sector 但如果 Lobby.swf 編譯時,程式碼中就有包含 Sector.as, 有將 class Sector 編入 Lobby.swf 中的話, 那麼 Lobby.swf 載入完 Sector.swf 後,動態建立的 instance 就可轉型為 class Sector, 不過,這種作法有很多缺點,最顯而易見的缺點就是: Lobby.swf 與 Sector.swf 中,都包入了 class Sector,增加了檔案大小, 對於版本同步也會很麻煩,譬如若改了 Sector.as 的話,就必須將兩個 swf 都重新編譯過 另一個討厭的問題是,若是有使用 混淆,那麼就算都使用了相同的 class, 但分別混淆過後,也有可能這兩個 class 都已經不是原本的名字了, 而成為兩個相異的 class 我之前有針對這部分提出一些作法,不過我現在對以前的作法又有其他想法了~ http://blog.ben.idv.tw/2009/12/applicationdomain.html 主 swf 與 子 swf 之間若要互相呼叫對方的 function, 我的建議做法是 互相提供一個 object 給對方, 這個 object 中,使用字串定義了每個要 public 的 function 的參考, 彼此可以藉由拿到的 obhect 中的 function 字串來呼叫對方, 譬如 objPublicAPI["doJob1"](param1, param2); objPublicAPI["doJob2"](param3); ※ 引述《chengchieh (cc)》之銘言: : 因為最近開始寫flash搭純as的project... : 然後有碰上一個問題 : 在很多畫面都是從flash那邊抓出來的情況 : 會使用到一層又一層的movieclip : public class mcPro extends MovieClip.... : 主要是因為有些常用的方法要寫在裡面... : 但是當我從swf中取出movieclip時 : 卻沒有辦法直接轉型成該class.... : 不知道有沒有人可以提供這部分的經驗呢?.... : (那個class沒有要放其他的物件...就只是存在一些method而已...) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.147.239.66
文章代碼(AID): #1EW4aTm0 (Flash)
討論串 (同標題文章)
文章代碼(AID): #1EW4aTm0 (Flash)