Re: [問題] loadmovie不能判斷某檔案是否存在

看板Flash作者 (ETREX)時間19年前 (2007/01/04 00:38), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串4/5 (看更多)
問題:MovieClipLoader 類別中的 loadClip 失敗時拋出的 trace 時間點的問題 目標:將先前的自動撥放改為先找jpg檔 jpg檔不存在時改找png檔 png檔找不到時才重播 重點:本篇重點是在 下面測試時的 trace 結果 ==程式碼== stop(); var I=1; var myloader = new MovieClipLoader(); var flag = true; myloader.onLoadStart = function() //開始loading時會執行的 { trace(this.S + " is loading"); } myloader.onLoadError = function() { trace("enter onLoadError:" + this.form); if (this.form == ".jpg" ) { this.form = ".png"; //form存的是該讀哪種檔 this.S = this.I + this.form; //S存的是讀檔路徑 trace("loading :" + this.S); this.loadClip(this.S,this.targetMC); } else if (this.form == ".png") { flag = false; } trace("out onLoadError:" + this.form); } onEnterFrame=function() { trace("flag = " + flag); if (flag == false) { flag = true; I=1; } else { M1.swapDepths(M2); myloader.targetMC = this["M"+(I%2+1)]; //決定圖檔丟進哪個MC myloader.I = formatNum(I); myloader.form =".jpg"; myloader.S = myloader.I + myloader.form; trace("loading :" + myloader.S); myloader.loadClip(myloader.S,myloader.targetMC); } I++; } function formatNum(Num) { if(Num<10) { return "000"+ Num; } else if (Num<100) { return "00"+ Num; } else if(Num<1000) { return "0"+ Num; } } 以上是程式碼 ==測試== 測試情形: 資料夾內有 0001.jpg 0002.jpg 0003.jpg 0004.jpg 0005.png <= 這張是png 0006.jpg 0007.jpg 撥放時的trace結果: flag = true loading :0001.jpg 0001.jpg is loading <= onLoadStart 裡的 trace flag = true loading :0002.jpg 0002.jpg is loading <= onLoadStart 裡的 trace flag = true loading :0003.jpg 0003.jpg is loading <= onLoadStart 裡的 trace flag = true loading :0004.jpg 0004.jpg is loading <= onLoadStart 裡的 trace flag = true loading :0005.jpg <= loadClip 上一行的 trace 是重點 enter onLoadError:.jpg loading :0005.png <= onLoadError 裡的 loadClip 上一行的 trace out onLoadError:.png Error opening URL "file:///E|/程式/FLASH/jimrex1/0005.jpg" 上面這行是重點,這行是0005.jpg的loadClip找不到檔案時丟出這個trace flag = true loading :0006.jpg 0006.jpg is loading <= onLoadStart 裡的 trace 我猜這行是 0005.png 的 0006.jpg is loading <= onLoadStart 裡的 trace flag = true loading :0007.jpg 0007.jpg is loading 問題:只要能夠讓這個程式能吃 jpg 和 png 其實不一定要解決 loadClip 錯誤訊息的問題 不過為什麼 0005.png is loading 會不見呢? -- 無名網誌:http://www.wretch.cc/blog/et284vu065k3 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.226.74.82

01/04 10:32, , 1F
events應該放在Object中,再用MovieClipLoader.addListener
01/04 10:32, 1F

01/04 10:33, , 2F
去頃聽事件發生.
01/04 10:33, 2F

01/04 10:33, , 3F
試試var myloader:MovieClipLoader = new MovieClipLoader()
01/04 10:33, 3F

01/04 10:34, , 4F
他就會說明您的錯誤在哪裡了.
01/04 10:34, 4F
文章代碼(AID): #15czmZ-f (Flash)
文章代碼(AID): #15czmZ-f (Flash)