双帧法:解决AS3.0文档类加载自身loading进度只有100%的问题

AS3.0文档类加载自身loading进度时会出现直接显示100%的问题,用这个“双帧法”(制作loading最少要两帧,),只需要三个步骤可以解决这个问题:
1、第一帧放loading MC;
2、第二帧放文档类要用到MC元件;
3、最关键的一步:将所有链接到文档类的元件的链接属性中的“在第一帧导出”取消掉。

双帧法:解决AS3.0文档类加载自身loading进度只有100%的问题_第1张图片

示例代码:

package 
{
	import flash.display.*;
	import flash.events.*;	
	import flash.text.*;
	
	public class loadinfoTest extends MovieClip 
	{
		public var loadText:TextField;
		
		public function loadinfoTest():void
		{
			stop(); 
			
			loadText = new TextField();
			loadText.text = "0%";
			loadText.autoSize = "left";
			addChild(loadText);

			//注册首页自身加载进度事件
			this.loaderInfo.addEventListener(ProgressEvent.PROGRESS, indexLoadingProgress);

			//注册首页自身加载完成事件
			this.loaderInfo.addEventListener(Event.COMPLETE, indexLoaded);
		}

		//首页Loading加载进度
		public function indexLoadingProgress(event:ProgressEvent):void
		{
			var hl:Number = event.bytesLoaded / event.bytesTotal;
			var n:Number = Math.round(hl * 100); 
			trace(event.bytesLoaded, n);

			loadText.text = n + "%"; 
		}

		public function indexLoaded(event:Event):void
		{
			trace('Loaded!!');
			gotoAndStop(2);
			var a:appMC = new appMC(); //实例一个元件类,不在帧1中导出
			addChild(a); 
		}
	}
}

你可能感兴趣的:(Flash,actionscript,loading)