作者mysteriousGE (我很幸福!!)
看板Flash
标题[问题] onLoadError的延迟.....
时间Sat Jul 7 01:58:44 2007
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
1F:推 etrexetrex:你的if应该换位置 0.0 07/07 05:01
2F:→ pm2001:空一个影格差不多了 1/21秒够用了 07/07 05:21
3F:推 MrMarcus:你的if/else应该整个移到onLoadError里面去才对啊 07/07 11:46
4F:→ MrMarcus:而且也不需要flag了 07/07 11:47
5F:推 mysteriousGE:谢谢一二楼大大 三楼的..可能误会了我的意思喔^^" 07/07 22:23
6F:推 aquarianboy:但我觉得三楼的推文才是比较简单的解决呀 :) 07/07 23:58
7F:推 mysteriousGE:或许是我表达的不好吧 我想要的是..一二楼说的~ 07/08 01:51
8F:→ mysteriousGE:trace的位置 是放其他我想要执行的东西 还是谢谢大家 07/08 01:52
9F:→ mysteriousGE:只是想确定loadClip需要时间载入(寻找)档案 07/08 01:54
10F:→ mysteriousGE:导致onLoadError的内容会延迟些时间被执行到 07/08 01:54