actionscript flash - 播放时加载帧

时间:2011-02-12 09:23:47

标签: flash actionscript preloader

大家好日子。我有一个关于flash的问题......是否有可能加载一个剪辑的前2-3帧,而那些正在播放以加载其余部分?

如果第一个问题的答案是肯定的,那么考虑到第一部分发生的事情,可以改变装载顺序吗?

如果是的话......怎么样?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

简而言之,加载时,flash播放器将从第1帧开始,并将继续坐在那里直到第1帧上的所有数据都已加载。只有这样才能进入下一帧。通过选中“文件 - >发布者设置”下“Flash”选项卡中的“生成构建报告”复选框,您可以获得有关每帧输出多少字节数据的详细报告

要进行简单的加载显示,请在第1帧中添加名为“loader_txt”的TextField,并添加此代码:

  stop();

  this.addEventListener(Event.ENTER_FRAME, loading);

  function loading(e:Event):void{

      var total:Number = this.stage.loaderInfo.bytesTotal;
      var loaded:Number = this.stage.loaderInfo.bytesLoaded;

      loader_txt.text = Math.floor((loaded/total)*100)+ "%";

    if (total == loaded){
      play();
      this.removeEventListener(Event.ENTER_FRAME, loading);
    }

  }

要确保您的资源和动作代码导出超出第1帧,以便上面的代码可以在Flash影片开始加载时立即启动,请转到“文件 - >发布设置”,选择“Flash”标签,然后点击“设置...”按钮位于“脚本”的右侧。应该会出现一个对话框。在该对话框的“导出帧中的类:”下,输入2。

对于图书馆中的资产,您可能需要做类似的事情。右键单击库资源并选择属性,您将看到取消选中“在第1帧中导出”的选项。如果取消选中它(这意味着flash资源可以在加载此资源之前开始播放),则必须确保在时间轴中的第1帧之外的某个位置引用该符号,否则Flash将从编辑中省略它。

祝你好运!

答案 1 :(得分:0)

答案#1:是的。

Flash影片默认流式传输,这意味着它们会在第1帧加载后立即开始播放 但是,您必须确保库中没有任何符号嵌入到第1帧中 - 否则加载第一帧将需要更长时间。此外,使用运行时共享库​​也会产生类似的效果。

答案#2:如果你想改变加载时循环的同一SWF的加载顺序,答案是否定的。您当然可以将正在加载的其他SWF的加载顺序更改为第一部电影。