专注于 ActionScript 3.0 在各应用领域的研究。
« 原创 AsWing 帮助 API CHM 下载Flex3 设置SVN 相当实用(版本更新 09-06-13) »

AS3文档类中Loading的写法

   在文档类里面如果控制flash出现loading?这个问题弄得我自己忽然没有方向了,呵呵,加载外部的大家都会,都知道,加载自己就有点晕了。
   制作loadin最少需要两帧,这是需要注意的地方,了解loading原理的朋友应该知道.
   第一帧为loading动画
   第二帧后为你的内容
   下面的代码假设flash有两帧:
   一开始的时候自动停止第一帧,然后进行loading操作,
   需要显示进度可以在loadProgress里写你需要的操作,
   加载完后自己跳到第二帧,并停止,
   注意的是在main函数里,使用了addFrameScript给动画的第二帧添加了stop()代码,
   这里不是必须的,addFrameScript是一个隐藏函数,这里只是测试一下(ps一下,addFrameScript中,前面是帧数,后面是要加载的函数,帧数是从0开始的).


 

 
  1. package{  
  2.     import flash.display.*;  
  3.     import flash.events.*;  
  4.     public class main extends MovieClip{  
  5.         public function main():void{  
  6.             stop()  
  7.   
  8.             //也可以使用addFrameScript给指定的帧添加代码  
  9.             //addFrameScript(1,frameScript)  
  10.   
  11.             //调用加载脚本  
  12.             loadScript()  
  13.         }  
  14.         private function loadScript():void{  
  15.             //as3中,所以的显示对象都可以使用loaderInfo来侦听加载状态  
  16.             //我们添加一个"Progress"和一个"complete"  
  17.             root.loaderInfo.addEventListener(ProgressEvent.PROGRESS,loadProgress,false,0,true)  
  18.             root.loaderInfo.addEventListener(Event.COMPLETE,init,false,0,true)  
  19.         }  
  20.         private function loadProgress(e:ProgressEvent):void{  
  21.             //加载过程中会调用此函数  
  22.             //e.bytesLoaded/e.bytesTotal分别是已经加载字节跟总字节  
  23.             //需要显示进度可以在这里操作  
  24.             trace(e.bytesLoaded,e.bytesTotal)  
  25.         }  
  26.         private function init(e:Event):void{  
  27.             //加载完成,我们跳到第二帧进行播放  
  28.             gotoAndStop(2)  
  29.             //操作代码....  
  30.         }  
  31.         private function frameScript():void{  
  32.             trace("第二帧停止")  
  33.             stop()  
  34.             //操作  
  35.         }  
  36.     }  
  37. }  

原文地址:http://l4cd.net/b/#sb#106

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427 Code detection by Codefense

Copyright 2008-2010 DMH2002's Blog Some Rights Reserved.沪ICP备07021739号