[問題] 外部載入的 loader API 設計
在本篇討論的外部載入資料沒有限定型態
但本篇以影片為例,討論外部載入與內部匯入資料的整合
一個外部載入的影片API可能是這樣設計的
1.需要在建構式傳入檔案路徑
var f1:FLVLoader = new FLVLoader("檔案路徑");
或者用方法傳入
var f1:FLVLoader = new FLVLoader();
f1.load("檔案路徑");
2.需要監聽載入完畢的事件
f1.addEventListener(Event.READY, readyHandler);
function readyHandler(e:Event):void{
f.play();
}
但對於一個內部匯入的FLV來說應該是可以直接使用
f2.play();
我的問題點在於如何設計一個API,可以整合外部載入與內部匯入的不同步性質
舉例來說我想要控制動畫流程,所以我作了一個 PlayList 類別
假設是這樣使用的:
var pl:PlayList = new PlayList();
pl.add(f1);
pl.add(f2);
pl.play();
因為不能保證 f1 跟 f2 已經載入完畢,所以上面的寫法在 play 時可能會出問題
那麼我可能就被迫改成用事件驅動的寫法
var pl:PlayList = new PlayList();
pl.add(f1);
pl.add(f2);
pl.addEventListener(Event.READY, readyHandler2);
function readyHandler2(e:Event):void{
pl.play();
}
但是如果這樣寫就會有些不方便的地方
因為可能f1 跟 f2 都是內部匯入
這樣就有一種多此一舉的感覺
但為了通用性,可能也就只有事件驅動的寫法比較好了
我想請問的是有沒有一個架構已經解決這種問題
--
blog:http://etrex.blogspot.com/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.42.70.146
→
07/16 20:18, , 1F
07/16 20:18, 1F
→
07/16 20:18, , 2F
07/16 20:18, 2F
→
07/16 20:18, , 3F
07/16 20:18, 3F
推
07/16 21:06, , 4F
07/16 21:06, 4F
→
07/16 21:10, , 5F
07/16 21:10, 5F
→
07/16 21:11, , 6F
07/16 21:11, 6F
→
07/16 21:11, , 7F
07/16 21:11, 7F
→
07/16 21:11, , 8F
07/16 21:11, 8F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):