Flash ActionScript3中的Loading写法

来源:岁月联盟 编辑:zhu 时间:2008-07-28
Flash ActionScript3中的Loading写法内容简介: 了解Flash Loading原理的朋友应该知道,制作loading至少需要两帧,第一帧为loading动画,第二帧为你的内容。 下面的ActionScript3代码中假设flash有两帧: 一开始的时候自动停止第一帧,然后进行loading操作,  了解Flash Loading原理的朋友应该知道,制作loading至少需要两帧,第一帧为loading动画,第二帧为你的内容。

  下面的ActionScript3代码中假设flash有两帧:
  一开始的时候自动停止第一帧,然后进行loading操作,需要显示进度可以在loadProgress里写你需要的操作,加载完后自己跳到第二帧,并停止。

  需要注意的是在main函数里,使用了addFrameScript给动画的第二帧添加了stop()代码,这里不是必须的,addFrameScript是一个隐藏函数,这里只是测试一下。
  注意:addFrameScript中,前面是帧数,后面是要加载的函数,帧数是从0开始的。

 

package{
  import flash.display.*;
  import flash.events.*;
  public class main extends MovieClip{
    public function main():void{
      stop()

      //也可以使用addFrameScript给指定的帧添加代码
      //addFrameScript(1,frameScript)

      //调用加载脚本
      loadScript()
    }
    private function loadScript():void{
      //as3中,所以的显示对象都可以使用loaderInfo来侦听加载状态
      //我们添加一个""Progress""和一个""complete""
      root.loaderInfo.addEventListener(ProgressEvent.PROGRESS,loadProgress,false,0,true)
      root.loaderInfo.addEventListener(Event.COMPLETE,init,false,0,true)
    }
    private function loadProgress(e:ProgressEvent):void{
      //加载过程中会调用此函数
      //e.bytesLoaded/e.bytesTotal分别是已经加载字节跟总字节
      //需要显示进度可以在这里操作
      trace(e.bytesLoaded,e.bytesTotal)
    }
    private function init(e:Event):void{
      //加载完成,我们跳到第二帧进行播放
      gotoAndStop(2)
      //操作代码....
    }
    private function frameScript():void{
      trace(""第二帧停止"")
      stop()
      //操作
    }
  }
}