flash as3加载外部swf 带loading

本文介绍了一种在Flash中动态加载SWF文件的方法,并通过实例演示了如何使用ActionScript 3.0实现外部SWF文件的加载及加载过程中的进度显示。此外,还展示了如何根据不同按钮点击事件加载不同层级的SWF文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值