ActionScript3 Extrenal Preloader不会播放影片剪辑
问题描述:
我确定这是一个简单的问题,我忽视了一些显而易见的事情。ActionScript3 Extrenal Preloader不会播放影片剪辑
我有一个外部预加载的SWF,在第一个(也是唯一的)框架中的一个图层上只包含影片剪辑(loader_graphic);并在第一个帧中的另一个图层上加载脚本。影片剪辑只是一个简单的循环动画,没有进度指示器。如果我不包含脚本,它的效果很好。
该脚本加载外部SWF,并且本身就像它应该那样工作。
当我将两者结合起来后,我得到了影片剪辑的第一帧,然后冻结,直到外部SWF被完全加载。一旦它被加载,它会播放一次并停止。我有点新的AS3,我知道,预装的是改变了公约之一,所以我可能没有它编码正确:
loader_graphic.play();
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.ProgressEvent;
var l:Loader = new Loader();
l.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loop);
l.contentLoaderInfo.addEventListener(Event.COMPLETE, done);
l.load(new URLRequest("external.swf"));
function loop(e:ProgressEvent):void
{
var perc:Number = e.bytesLoaded/e.bytesTotal;
}
function done(e:Event):void
{
loader_graphic.stop();
addChild(l);
}
任何帮助表示赞赏。
答
事实证明,预加载器一直在玩。它只是因为主SWF超载Flash播放器而停滞不前。
它正在加载的主要SWF包括从标准Web服务器流式传输的F4V视频,并且玩家一次处理所有内容太多。我嵌入了视频,而这一切都运行良好。
这可能没有关系,但请确保external.swf中的脚本没有指向舞台,因为在加载影片将其添加到addChild()之前,stage属性将为空。在external.swf的构造函数中加入这样的内容:'addEventListener(Event.ADDED_TO_STAGE,init);'并且在调用init()之后不要引用该阶段。 – null