制作loading最少需要两帧,这是需要注意的地方,了解loading原理的朋友应该知道。
第一帧为loading动画。
第二帧为你的内容。
下面的代码假设flash有两帧:
一开始的时候自动停止第一帧,然后进行loading操作,需要显示进度可以在loadProgress里写你需要的操作,加载完后自己跳到第二帧,并停止。注意的是在main函数里,使用了addFrameScript给动画的第二帧添加了stop()代码,这里不是必须的,addFrameScript是一个隐藏函数,这里只是测试一下(ps一下,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() 
      
//操作 
    } 
  } 
}

 

 

posted on 2010-04-16 15:31  钱途无梁  阅读(513)  评论(0编辑  收藏  举报