【问题标题】:ActionScript3 Extrenal Preloader Won't Play Movie ClipActionScript 3 外部预加载器无法播放影片剪辑
【发布时间】:2012-10-20 02:29:20
【问题描述】:

我确定这是一个简单的问题,但我忽略了一些明显的问题。

我有一个外部预加载 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);
}

感谢任何帮助。

【问题讨论】:

  • 这可能不相关,但请确保 external.swf 中没有脚本引用舞台,因为在加载影片使用 addChild() 添加它之前,舞台属性将为空。在 external.swf 的构造函数中放入类似这样的内容:addEventListener(Event.ADDED_TO_STAGE, init); 并且在调用 init() 之前不要引用阶段。

标签: actionscript-3 flash movieclip preloader flash-cs6


【解决方案1】:

原来预加载器一直在播放。它只是因为主 SWF 使 Flash 播放器过载而停止。

它加载的主要 SWF 文件包括从标准 Web 服务器流式传输的 F4V 视频,播放器一次处理所有内容太多了。相反,我嵌入了视频,一切都很完美。

【讨论】:

    猜你喜欢
    • 2013-05-29
    • 2011-08-15
    • 2014-09-19
    • 2012-02-04
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多