Home » 经验之谈 » 操作子SWF(一)直接操作

操作子SWF(一)直接操作

发表评论 阅读评论

通常做一个应用或者游戏或者其他什么,都不会只是用一个swf就搞定了,比如说以前很火的动画播放器,就是一个MainSWF(主swf)按顺序加载并播放多个SubSWF(子SWF),那么这时我们就需要加载并操作这些SubSWF.这是最简单的父子SWF交互的情况.

流程

  1. MainSWF加载SubSWF.
  2. 加载完成后,获取SubSWF的内容
  3. 对SubSWF的内容进行交互.

简单代码

import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.display.DisplayObject;

// 说明要加载的子swf的文件路径
var req:URLRequest = new URLRequest("subSwf.swf");
var loader:Loader = new Loader();
// 一定要用loder.contentLoaderInfo添加侦听,不然不会触发COMPLETE事件
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(req);

function completeHandler(e:Event):void
{
    // 移除侦听,防止内存泄露
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler);

    // loader.content就是被加载的子swf
    var dis:DisplayObject = loader.content;
    // 加载完成后就能对子swf进行操作了
    dis.rotation = 30;
    // 将子swf加载到显示列表才能显示
    this.addChild(dis);
}

这样就能对子swf进行操作了,是很简单的.

标签:

  1. |

    文章不错

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
回到顶部