本來想說用讓Loader.contentLoaderInfo監聽IO_ERROR事件
假設觸發IO_ERROR事件,從事件裡去獲得原始路徑,然後利用string拆解
然後呢!
誰知道
IO_ERROR事件中,居然沒辦法獲取這樣子的屬性
唯一可以取得原始路徑的就在Event.COMPLETE
但在IO_ERROR的錯誤訊息中卻又有原始路徑 囧
這一點實在是很怪異
理論上在初始載入時,應該就會知道載入路徑才是
猜想...可能是Loader內部結構的關係
幾種解決方法
(1) 拆解錯誤訊息
優: 不用自己另寫變數存取
缺: 假設往後錯誤訊息拆解的規則變了,也就失效了
private function ioError(e:IOErrorEvent):void { trace(e.text.split(":")[3]); }(2) 以url替loader取名字
優: 簡單快速的寫法
缺: 若loader.name另有用途,就不太適用
(3) 寫一個類別繼承Loader
優: 靈活性高
缺:
複寫Loader.load()
沒有留言:
張貼留言