`
a19905522
  • 浏览: 95572 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

flash as3加载外部swf 带loading

 
阅读更多
stop();

// jinghao-flash整站框架【加载外部swf模块】
//加载外部swf到新建MC中,当做一个MC处理,建立与外部swf通信
import flash.display.MovieClip;
import flash.events.MouseEvent;

var swfurl_str:String;//swf路径
var swf_layer:int;//加载外部swf到舞台的层级

//load_swf_func();//执行加载函数

function load_swf_func()
{
	var newswf:MovieClip;

	var request2:URLRequest = new URLRequest(swfurl_str);
	var loader2:Loader = new Loader();
	loader2.load(request2);

	var loadingmc:loading_mc=new loading_mc();//加载库中的loading元件

	loader2.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, loadProgress);
	loader2.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);

	function loadProgress(event:ProgressEvent):void
	{
		var percentLoaded:Number = event.bytesLoaded / event.bytesTotal;
		percentLoaded = Math.round(percentLoaded * 100);//已加载数据的百分比
		addChild(loadingmc);//加了loading元件到舞台
		loadingmc.y = stage.stageHeight / 2;
		loadingmc.x = stage.stageWidth / 2;
		loadingmc.loarding_txt.text = percentLoaded + "%";

	}
	function loadComplete(event:Event):void
	{
		loader2.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, loadProgress);
		loader2.contentLoaderInfo.removeEventListener(Event.COMPLETE, loadComplete);
		trace("Complete");
		newswf = loader2.content as MovieClip;//用newswf获取加载到的外部swf当做mc处理
		stage.addChildAt(newswf,swf_layer);
		//添加外部swf到舞台;
		removeChild(loadingmc);
		//移除loading元件
	}
}

//通过按钮加载相应swf
btn1.addEventListener(MouseEvent.CLICK,btn1_func);
btn2.addEventListener(MouseEvent.CLICK,btn2_func);

function btn1_func(e:MouseEvent)
{
	swfurl_str = "logo.swf";
	swf_layer = 0;//加载到舞台的层级
	load_swf_func();//执行加载函数
}

function btn2_func(e:MouseEvent)
{
	swfurl_str = "logo2.swf";
	swf_layer = 1;//加载到舞台的层级
	load_swf_func();
}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics