Skip to main content
 首页 » 教程资源 » FLASH专题

FLASH中实现加载外部SWF并实现对其内部对象控制的方法

2013年03月22日35620百度已收录

在制作FLASH课件时,为了实现课件结构重用,我们通常会把课件按功能把课件分成若干部分,这样一个课件就会有多个SWF文件,利用Loader对象可以轻松实现对它的加载,但如何实现对这些加载进来SWF文件交互呢,即对加载进来内容及对象的控制:可以通过load.content 获取加载的对象即可实现主FLASH文件和加载的FLASH文件实现相互通信与交互,下面以一个实例来解释这种方法。

示例包括两个文件load.swf即主FLASH文件和loadcontent.swf即被加载的内容,loadcontent.swf是一个变形动画,第一帧是停止的的,现在要实现的功能是将这个变形动画加载到主FLASH文件中,并通过主FLASH文件控制动画的播放和其中按钮的位置,代码如下:

load.swf文件中的按钮实例名为mainbtn,loadcontent.swf中的按钮实例名称为playbtn.

说明此案例为FLASH课件制作技术精粹补充案例,欢迎大家购买学习交流。

//定义加载对象路径
var swffile:String = "loadcontent.swf";
//定义请求
var URLString = new URLRequest(swffile);
//定义容器
var loadermc:Loader = new Loader();
//加载
loadermc.load(URLString);
loadermc.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
//用来处理加载进来的内容将加载的内容转为displayObject,如MovieClip类型
var mc:MovieClip = new MovieClip();
function onComplete(e:Event):void{
addChild(loadermc);
//强制转换
mc = loadermc.content as  MovieClip;
}
mainbtn.addEventListener(MouseEvent.CLICK, playloadswf);
function playloadswf(event:MouseEvent):void
{
//现在可以实现对加载内容的控制了
mc.gotoAndPlay(1);
//控制了加载进来的按钮
mc.playbtn.x = 400;
}

源文件下载单击下载

:Loader.content官方手册上解释为content : DisplayObject,即 包含使用 load() 或 loadBytes() 方法加载的 SWF 文件或图像(JPG、PNG 或 GIF)文件的根显示对象。如果加载的是SWF文件,那么loader.content就是SWF的根即root,其和loader.contentLoaderInfo.content等同。

另现在还不知道怎么通过加载的SWF控制主场景中的对象呢?请大家提供解决思路和方法。

评论列表暂无评论
发表评论
新浪微博
微信
联系电话:
13955453231