作者iamNori (Nori)
看板Flash
标题[问题] Loader还没载入完影片就开始在背景自动播放
时间Tue May 11 12:50:17 2010
我做了一个有影片和声音的A.swf,档案很大约6MB,
所以就另外做个可以显示载入进度的Loader档案,想要把它从外部Load进来再开始播放
可是测了很久,发现常常进度到9X%左右,
A.swf就在背景自动开始播放了 (可以听到声音)
等到载入进度到100%、且用addChild(myLoader)把它加到舞台时,才会看到画面
以下是原始码:
var myLoader:Loader = new Loader();
myLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
myLoader.load(new URLRequest("A.swf"));
var pp:Number;
function loop(e:ProgressEvent):void {
var perc:Number=e.bytesLoaded/e.bytesTotal;
bar_mc.scaleX=perc;
pp=Math.ceil(perc*100);
percent.text=pp.toString();
}
function done(e:Event):void {
trace(MovieClip(myLoader.content));
if (pp==100) {
removeChild(percent);
percent=null;
addChild(myLoader);
MovieClip(myLoader.content).gotoAndPlay(1);
}
}
黄色那行是我测试用,我在A.swf的第一个影格加了声音和背景音乐
然後就会发现载入进度到90%左右时,就听到影片里的声音开始播放
等到100%时才又听到一次开头的声音,然後看到影片从头开始播放
我对AS3还不太熟...想请问一下有没什麽好办法,
让影片在还没全部载入完成之前,「不要」先自动开始播放?
感谢...m(_ _)m
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.116.156.137
※ 编辑: iamNori 来自: 122.116.156.137 (05/11 12:51)
1F:→ iamNori:啊,F1找到原来还有一个INIT事件,我懂了 05/11 13:25
2F:推 openyayak:可以分享一下吗? INIT ... 05/11 13:39
4F:推 etrexetrex:是师父~ 05/11 14:19
5F:推 dsmwang:有点不懂,所以是用init事件让他STOP然後再用COMPLETE事件 05/11 14:27
6F:→ dsmwang:让他播放? 05/11 14:27
7F:推 cjcat2266:应该就是这样处理 05/11 14:44
8F:推 dsmwang:thanks~ 05/11 15:32
9F:推 openyayak:感谢D大。 05/11 16:16