加载子SWF AS3 - > AS3 - 子循环无限期
问题描述:
我有一个加载到父级的子SWF的问题。加载是非常基本的,一切都应该没问题。问题是当孩子有多个框架,SWF只是无限循环。完成后,孩子将有多个框架和前进/后退按钮,但我已经将其蒸馏到两个帧,每个帧都有不同的图像,没有代码保存stop(); 我有另一个家长,我没有创建(你不想看到),将接受一个AS2的SWF,但循环AS3,这是整个项目的起源... 任何洞察力非常感谢.. ..加载子SWF AS3 - > AS3 - 子循环无限期
这是父代码:
var _swfLoader:Loader;
var _swfContent:MovieClip;
loadSWF("test4.swf");
function loadSWF(path:String):void {
var _req:URLRequest = new URLRequest();
_req.url = path;
_swfLoader = new Loader();
setupListeners(_swfLoader.contentLoaderInfo);
_swfLoader.load(_req);
}
function setupListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, addSWF);
dispatcher.addEventListener(ProgressEvent.PROGRESS, preloadSWF);
}
function preloadSWF(event:ProgressEvent):void {
var _perc:int = (event.bytesLoaded/event.bytesTotal) * 100;
// swfPreloader.percentTF.text = _perc + "%";
}
function addSWF(event:Event):void {
event.target.removeEventListener(Event.COMPLETE, addSWF);
event.target.removeEventListener(ProgressEvent.PROGRESS, preloadSWF);
_swfContent = event.target.content;
_swfContent.addEventListener("close", unloadSWF);
addChild(_swfContent);
}
function unloadSWF(event:Event):void {
_swfLoader.unloadAndStop();
removeChild(_swfContent);
_swfContent = null;
}
答
难道DaveGaur回答你的问题吗? AS3 Stop external swf
默认情况下,当MovieClip添加到舞台时,它将播放。如果MovieClip只有一帧,这看起来就不一样了。在所有框架和子项都被加载之前,不会调用完整事件。戴夫说,当第一帧准备好播放时,INIT事件被调用。因此,对于您的代码,Dave可能会在setupListeners附近提供类似以下内容:
dispatcher.addEventListener(Event.INIT, stopContent, false, 0, true);
function stopContent(event:Event) {
event.target.removeEventListener(Event.INIT, stopContent);
_swfContent = event.target.content as MovieClip;
_swfContent.stop();
}
这是一个iOS项目吗? – weltraumpirat 2012-07-24 21:46:42