AS3 调用外部SWF中元件库中的元件 【转】

参考文章: http://www.blueidea.com/tech/multimedia/2008/5842_2.asp

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/djy1135/archive/2009/11/13/4807925.aspx

一、目的

    bb.swf的元件库中有一个元件,在aa.swf中调用这个元件,显示到舞台上

二、步骤

   bb.swf

    1.新建bb.fla,在上面画一个圆

    2.选择这个圆,将其转换为元件,并选择”Export for ActionScript”,类名取为”Yuan”

    3.在舞台上删除这个元件(删除后,只在元件库中有该元件)

    4.Ctrl+Enter 运行bb.fla , 生成bb.swf

aa.swf

    1.新建aa.fla

    2.在时间轴上加如下代码

      var cl:ClassLoader = new ClassLoader(“bb.swf”);   //加载bb.swf文件
      cl.addEventListener(Event.COMPLETE, cm_fun);

      function cm_fun(e:Event){
          var Yuan:Class = cl.getClass(“Yuan”) as Class;
          var yuan:DisplayObject = new Yuan();
          yuan.x = 50;
          yuan.y = 100;
          yuan.alpha = .5;
   
          addChild(yuan);
      }

三、类加载文件

      package {

        import flash.display.Loader;
        import flash.net.URLRequest;
        import flash.utils.ByteArray;
        import flash.events.Event;
        import flash.events.ProgressEvent;
        import flash.events.EventDispatcher;
        import flash.system.LoaderContext;

        public class ClassLoader extends EventDispatcher{
  
           public var url:String;
           public var loader:Loader;
          
           //构造函数
           public function ClassLoader(obj:Object = null,lc:LoaderContext = null) {
              if(obj != null){
                if(obj is ByteArray){
                  loadBytes(obj as ByteArray,lc);
                }else if(obj is String){
                  load(obj as String,lc);
                }else{
                  throw new Error(“参数错误,构造函数第一参数只接受ByteArray或String”);
                }
              }
           }
  
            //加载
           public function load(_url:String,lc:LoaderContext = null):void{
              url = _url;
              loader = new Loader;
              loader.load(new URLRequest(url),lc);
              addEvent();
            }
  
           //加载字节
           public function loadBytes(bytes:ByteArray,lc:LoaderContext = null):void{
              loader = new Loader;
              loader.loadBytes(bytes,lc);
              addEvent();
            }
  
          //开始侦听
            private function addEvent():void{
              loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressFun);
              loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeFun);
            }
  
            //结束侦听
            private function delEvent():void{
              loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS,progressFun);
              loader.contentLoaderInfo.removeEventListener(Event.COMPLETE,completeFun);
           }
  
            //加载成功,发布成功事件
            private function completeFun(e:Event):void {
              delEvent();
              dispatchEvent(e);
            }
  
           //加载过程
            private function progressFun(e:ProgressEvent):void{
              dispatchEvent(e);
            }
  
            //获取定义
            public function getClass(className:String):Object {
              return loader.contentLoaderInfo.applicationDomain.getDefinition(className);
           }
  
           //是否含有该定义
            public function hasClass(className:String):Boolean {
              return loader.contentLoaderInfo.applicationDomain.hasDefinition(className);
            }
  
            //清除
           public function clear():void{
              loader.unload();
              loader = null;
           }
         }
        }

转载于:https://www.cnblogs.com/chenhaib/archive/2011/12/19/2293357.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262975.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

好文章,被架构师秒杀之后

.jdk1.5新增的功能------》2.字符流和字节流的区别,使用场景,相关类 >>>3.线程安全的概念,实现线程安全的几种方法 >>>4.抽象类和接口的区别,使用场景 >>>5.hash算法的实现原理,hash…

出路在哪里?出路在于思路!智者无敌

有人工作,有人继续上学,大家千万不要错过这篇文章,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也…

电缆电压降计算

电缆电压降计算 UI*Z*L I电缆通过的电流 Z电缆阻抗 L电缆长度 阻抗Z可以通过电缆手册中给出的公式计算转载于:https://www.cnblogs.com/tihua/archive/2007/11/23/969627.html

C# 动态添加SEO 信息,不和静态页面重复和叠加

动态添加SEO 信息&#xff0c;不和静态页面重复和叠加&#xff0c;就一个方法&#xff0c;用到了做个记录&#xff0c;以后直接用就OK了&#xff0c;需要的同学也可以直接拿去用。 1 /// <summary> 2 /// 动态设置 SEO 信息 3 /// </summary> 4 /// <pa…

SVN“验证位置时发生错误”的解决办法

验证位置时发生错误:“org.tigris.subversion.javahl.ClientException...... 验证位置时发生错误:“org.tigris.subversion.javahl.ClientException: RA layer request failed svn: Server sent unexpected return value (403 Forbidden) in response to OPTIONS request for h…

Day_03-函数和模块的使用

使用函数求阶乘 使用while循环的代码&#xff1a; m float(input(m ))n float(input(n ))mn m - nfm 1while m ! 1:fm * mm - 1fn 1while n ! 1:fn * nn - 1fmn 1while mn ! 1:fmn * mnmn - 1print(fm // fn // fmn)定义函数块&#xff1a; def C_N_M(parm):fmn 1for …

Visual Studio Team System 2008 Team Suite (90-day Trial)(转)

Visual Studio Team System 2008 Team Suite (90-day Trial) 相关介绍&#xff1a; http://www.microsoft.com/downloads/details.aspx?familyidD95598D7-AA6E-4F24-82E3-81570C5384CB&displaylangen 直接下载地址&#xff1a; http://download.microsoft.com/download/d/…

xml02 XML编程(CRUD)增删查改

XML解析技术概述 Demo2.java import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; public class Demo2 { public static void main(String args[])throws Exception { //1.创建工程 DocumentBuilderFac…

猜数字

写一个猜数字脚本&#xff0c;当用户输入的数字和预设数字&#xff08;随机生成一个小于100的数字&#xff09;一样时&#xff0c;直接退出&#xff0c;否则让用户一直输入&#xff0c;并且提示用户的数字比预设数字大或者小。#!/bin/bashmecho $RANDOMn1$[$m%100]while :do …

3DMax插件和它的3DXI接口

3DXI是3DMax提供给游戏开发者的一套数据读取接口&#xff0c;之前它被称作为IGame。最近一直在搞Ogre的插件相关的文档都很少我相信搞这个的人很多&#xff0c;但是有时间整理拿出来共享的资料实在是太少Ogre自带的maxExplorer只是xml格式&#xff0c;二进制数据的导出竟然未完…

ASP.NET Web Game 架构设计1--服务器基本结构

ASP.NET Web Game 架构设计1--服务器基本结构 1. 基本结构图 2. 系统组成与角色 整个系统大体上分为三个部分&#xff1a;1.网页客户端。2.IIS Web服务器。3.数据库及逻辑服务器。其中Web服务器不处理任何逻辑&#xff0c;它的作用只有两点&#xff1a;1.承载用户。…

人人网 Windows Phone 7 应用开发起步

目前&#xff0c;人人网在国内高校学生中的普及率非常高。前段时间&#xff0c;大概是11月下旬的样子&#xff0c;人人网发布了Windows Phone 7客户端的公测版。我想&#xff0c;Windows Phone 7本地化的优劣&#xff0c;直接关系到其将来在国内的市场份额。而诸如人人等针对学…

XP Sp2下双机通过无线网卡实现Internet共享

两台均有无线网卡、装有XP SP2系统的计算机如何实现共享Internet上网呢&#xff0c;请参考一下步骤&#xff1a; 1、打开两台计算机的无线网络连接属性&#xff0c;并切换至“无线网络配置”页签。2、点中右下角的高级按钮设置&#xff0c;选中最下面的“仅计算机到计算机” 和…

SimpleDateFormat解析的时候字符串过长问题

竟然不会报错&#xff1b; try {SimpleDateFormat dateFormatFrom new SimpleDateFormat("yyyyMMddHHmmss");String dateStr "2015080910400000";Date parse dateFormatFrom.parse(dateStr);System.out.println(parse);} catch (Exception e) {e.printS…

C#面向对象设计模式第九讲:Composite 组合模式(结构型模式)

&#xff08;根据MSDN Webcast相关课程整理&#xff09; 由俄罗斯套娃讲起。娃娃里又包含另一个娃娃&#xff0c;最后那个不包含任何娃娃。 组合模式&#xff0c;采用树型结构来实现普遍存在的对象容器&#xff0c;将本原一对多的复杂的关系&#xff0c;转换成一对一的简单关系…

https://enhancer.io

enhancer.io 转载于:https://juejin.im/post/5d4aad7bf265da03bf0f2d01

chmod命令详细用法

指令名称 : chmod 使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所调用。 参数 : mode : 权限设定字串&#xff0c;格式如下…

是用Entity.Save(),还是用DAL.Save(Entity e)

是用Entity.Save()&#xff0c;还是用DAL.Save(Entity e) 自从上一次写关于ORM的文章已经是几个月前的事情了&#xff0c;在这里先贴一下文章的地址&#xff0c;如果大家感兴趣的话可以去看看。 1、支持差异数据保存的数据库实体类设计——处女作 2、支持差异数据保存的数据库实…

Docker for Windows

安装条件&#xff1a;必须是 Win10 Pro 或者 Enterprise version. 转载于:https://www.cnblogs.com/qijiage/p/9261258.html

【Android】 -- 使用UncaughtExceptionHandler捕捉全局异常

在综合统计SDK(欧盟统计局的朋友&#xff0c;百度统计)之后。有一个非常有利的功能测试&#xff1a;错误分析。此功能可以在程序的执行中遇到崩溃(runtimeException)反馈给server&#xff0c;帮助开发者提高产品。多功能适配器机。 然而在公司android开发中不集成这些SDK&#…