0

我想在舞台上有多个movieClip 符号实例,因此每个实例都加载不同的图像。movieClip 元件应该有 2 帧。第一帧包含加载器进度条的动作脚本;以及带有 UILoader 的第二帧,它显示外部图像。

我知道如何为 swf 文件实现预加载器。而且我知道如何使用 UILoader 使用 movieClip 符号并使用不同的图像创建多个实例。

因为我想把这个文件放到网上,所以我需要每个实例的预加载器。但我不知道如何在实例中使用预加载器(它不起作用;实际图像是在影片剪辑的第二帧还是从外部加载)

4

2 回答 2

1

这是因为 Stage 的行为与 MovieClip 不同。您需要以编程方式执行预加载器。为 MovieClip Symbol 定义一个类,并创建一个像预加载器一样工作的其他 MC 的实例,然后使其可见并在图像更改时播放它添加一个 eventListener:addEventListener(ProgressEvent.PROGRESS, updateInfo);

于 2013-10-08T15:00:42.393 回答
0

这可以简单地通过使用progressBar 和加载器类来完成。

import flash.display.Loader;
import fl.controls.ProgressBar;
import flash.events.Event;
import fl.containers.UILoader;

var myLoader:Loader = new Loader();
var my_pb:ProgressBar = new ProgressBar();

addChild(my_pb);

myLoader.load(new URLRequest("http://www.SomeImageURL...."));
my_pb.source = myLoader.contentLoaderInfo;

myLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, completefunction);

function completefunction(e:Event):void
{
    removeChild(my_pb);
    myLoader.content.width = 200;
    addChild(myLoader);
}

要让movieClip 符号使用不同的图像,我们只需向movieClip 添加一个字符串变量,并在每次创建它的新实例时将url 传递给该变量。

于 2013-10-31T09:15:49.667 回答