[問題] onLoadError的延遲.....

看板Flash作者 (我很幸福!!)時間18年前 (2007/07/07 01:58), 編輯推噓5(505)
留言10則, 5人參與, 最新討論串1/1
Flash CS3 / Action Scripts 2.0 已爬過文 我打算判斷某個檔案是否存在 使用MovieClipLoader()去讀取 且用 onLoadError 來判斷。 程式碼如下: var myloader = new MovieClipLoader(); var flag=true; myloader.loadClip("PPP/a.JPG","aaa"); //事實上此檔案不存在 myloader.onLoadError = function(){ flag = false; } if(flag){ trace("true"); }else{ trace("false"); } 輸出: true Error opening URL 'file:///J|/FFF/PPP/a.JPG' 依照我的想法 我想要它輸出的是 Flase 而非 True 根據我的某些實驗 明顯的發現 是由於讀取檔案需要時間 當程式碼判斷flag時 它仍未被改變 晚點再判斷即可得到正確值 想請問各位大大 這種延遲現象 正常嗎? 如果正常 那我該怎麼改寫我要的程式? 假若得使用延遲判斷的方法 那我要延遲多久再去判斷flag比較好? 延遲太久 程式又沒效率(我要判斷很多個檔案) 延遲不夠久 又怕出錯... 且程式打算放到伺服器上的 伺服器速度和我個人電腦或許還有些出入.... 該如何處理呢? 還是有其它更好的方法? 先謝謝回應的大大了 <(_ _)> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.229.13.56

07/07 05:01, , 1F
你的if應該換位置 0.0
07/07 05:01, 1F

07/07 05:21, , 2F
空一個影格差不多了 1/21秒夠用了
07/07 05:21, 2F

07/07 11:46, , 3F
你的if/else應該整個移到onLoadError裡面去才對啊
07/07 11:46, 3F

07/07 11:47, , 4F
而且也不需要flag了
07/07 11:47, 4F

07/07 22:23, , 5F
謝謝一二樓大大 三樓的..可能誤會了我的意思喔^^"
07/07 22:23, 5F

07/07 23:58, , 6F
但我覺得三樓的推文才是比較簡單的解決呀 :)
07/07 23:58, 6F

07/08 01:51, , 7F
或許是我表達的不好吧 我想要的是..一二樓說的~
07/08 01:51, 7F

07/08 01:52, , 8F
trace的位置 是放其他我想要執行的東西 還是謝謝大家
07/08 01:52, 8F

07/08 01:54, , 9F
只是想確定loadClip需要時間載入(尋找)檔案
07/08 01:54, 9F

07/08 01:54, , 10F
導致onLoadError的內容會延遲些時間被執行到
07/08 01:54, 10F
文章代碼(AID): #16ZeBLOP (Flash)
文章代碼(AID): #16ZeBLOP (Flash)