作者etrexetrex (ETREX)
看板Flash
标题Re: [问题] loadmovie不能判断某档案是否存在
时间Thu Jan 4 01:06:02 2007
问题: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
1F:推 amosa:events应该放在Object中,再用MovieClipLoader.addListener 01/04 10:32
2F:→ amosa:去顷听事件发生. 01/04 10:33
3F:→ amosa:试试var myloader:MovieClipLoader = new MovieClipLoader() 01/04 10:33
4F:→ amosa:他就会说明您的错误在哪里了. 01/04 10:34