看板 Flash 關於我們 聯絡資訊
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
etrexetrex:你的if應該換位置 0.0 07/07 05:01
pm2001:空一個影格差不多了 1/21秒夠用了 07/07 05:21
MrMarcus:你的if/else應該整個移到onLoadError裡面去才對啊 07/07 11:46
MrMarcus:而且也不需要flag了 07/07 11:47
mysteriousGE:謝謝一二樓大大 三樓的..可能誤會了我的意思喔^^" 07/07 22:23
aquarianboy:但我覺得三樓的推文才是比較簡單的解決呀 :) 07/07 23:58
mysteriousGE:或許是我表達的不好吧 我想要的是..一二樓說的~ 07/08 01:51
mysteriousGE:trace的位置 是放其他我想要執行的東西 還是謝謝大家 07/08 01:52
mysteriousGE:只是想確定loadClip需要時間載入(尋找)檔案 07/08 01:54
mysteriousGE:導致onLoadError的內容會延遲些時間被執行到 07/08 01:54