在ActionScript中加载外部SWF文件并操作其组件

使用ActionScript 3时,在当前的Container中需要加载外部的SWF文件,并给其中的button等组件添加监听事件。通常在ActionScript中加载SWF文件有有两种方式:一是通过Embed将外部SWF文件作为新类注册到当前类;二是通过Loader将SWF文件加载到当前Stage,通过该显示对象的root调用其中的组件。本文将介绍第二种使用方式。

在本文中,当前Stage的类为ExampleWrapper.as,需要加载的SWF文件名为custom.swf,与编译后生成的ExampleWrapper.swf放在同一文件夹下。

步骤为:

  1. 新创建一个Loader对象,加载custom.swf文件;
  2. 给loader添加监听事件,加载完成后访问SWF文件的组件;
  3. 给需要的组件添加事件。

代码如下:

 

public function loadSwf():void
		{
			var ldr:Loader = new Loader();
			ldr.load(new URLRequest("custom.swf"));
			ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, initButtons);
			addChild(ldr);
		}

private function initButtons(event:Event):void
		{
			exitBtn = event.target.content.root.exitBtn;
			exitBtn.stop();
			exitBtn.addEventListener(MouseEvent.CLICK,function():void{Object(customWrapper).closeGame();ExternalInterface.call("closeWin");});
			
			helpBtn = event.target.content.root.helpBtn;
			helpBtn.stop();
			helpBtn.addEventListener(MouseEvent.CLICK,function():void{Object(customWraper).requestHelpPage();});
			...
		}

 在initButtons方法中,通过root.访问到加载的显示对象中的exitBtn与helpBtn,并给其添加了监听事件。

 

 

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值