gotoAndPlay帧基于AS3预加载器进度的百分比

时间:2009-12-13 08:12:30

标签: actionscript-3 flash preloader

我关注了this优秀的as3预加载器教程,下面是我到目前为止的代码。

var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("content.swf"));

function loop(e:ProgressEvent):void
{
var perc:Number = e.bytesLoaded / e.bytesTotal;
percent.text = Math.ceil(perc*100).toString();
trace("loading...");
}

function done(e:Event):void
{
removeChildAt(0);
percent = null;
addChild(l);
trace("done!");
}

这样可以完美地加载主要内容。显示加载进度的百分比。

现在我想更进一步。我的目标是在时间轴上的3个不同的帧中有3个图像,其中一个在25%完成时可见,第二个在50%完成,最终图像在75%完成。

我假设我需要添加一些if语句,但我无法弄清楚语法是什么来侦听flash的百分比以了解要移动到哪个帧。

感谢阅读,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

将一个名为movieClipWithImages的影片剪辑添加到舞台上,其中包含3张图像(每帧一张),然后使用以下代码。

function loop(e:ProgressEvent):void
{
  var perc:Number = e.bytesLoaded / e.bytesTotal;
  percent.text = Math.ceil(perc*100).toString();
  trace("loading...");
  movieClipWithImages.gotoAndStop(Math.floor(perc*3/100)+1);
}