一般为了达到资源或是组件的共用,会用到flex library。在flex library可以添加swf、图片资源或的引用。

使用方法:

在flash builder中右击选中“新建” –> “Flex Library Project”

输入工程名后,直接点击“Finish”,然后建立一个类。

在该类中,绑定指定的资源,如下代码所示:

package{    [Bindable]public class LibraryTest    {public function LibraryTest()        {        }

        [Embed(source="pic/test.png")]public var abc:Class;    }}

右击项目,选择“Properties(属性)”后,选中左侧“Flex Library Compiler”选项,在右侧窗口的“Additional compiler arguments”中追加
“-directory=true -output=../bin/”,点击“OK”,应用设置。
右击选中项目,点击“Build Project”即可编译该Library Project,之后可在bin目录下得到三个文件。

三个文件:“xxxx.swc、catalog.xml、library.swf”,其中xml是描述文件,swc可直接copy至工程的libs目录中使用,swf则需要在相应的类中加载后才能使用。

新建一个项目,用来测试上面生成的library.swf。

getClass.mxml的代码,下面代码中声明了一个变量bit1,为什么要声明这样一个“多余”的变量呢?如果使用swc并不需要这样做,而加载library.swf,因为在执行build project的时候,有一些类并未打包到library.swf中,所以在需要调用的程序中,需要加载这相应的类(比较上面的是图片对应的就是BitmapAsset)。

<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" minWidth="955" minHeight="600" creationComplete="inited()">

<mx:Script><![CDATA[            import mx.core.BitmapAsset;            import mx.core.UIComponent;

            private function inited():void            {                var bit1:BitmapAsset;

                var loader:Loader = new Loader();

                var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);                var req:URLRequest = new URLRequest("assets/library.swf");

                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);

                loader.load(req, context);            }

            private function onComplete(evt:Event):void            {                trace("library.swf--- loaded --- succ");

                var cl:Class = ApplicationDomain.currentDomain.getDefinition("LibraryTest_abc") as Class;

                var a:DisplayObject = new cl() as DisplayObject;

                var ui:UIComponent = new UIComponent();                    ui.addChild(a);                    

                img.source = cl;

                ui.x = 100;                ui.y = 200;

                addChild(ui);            }

        ]]></mx:Script>

<mx:Image id="img" />

</mx:Application>

运行程序,可以看到图片资源均被加载了,使用了对该资源的统一管理(swf的用法与此类似)。

更多参考:

1、使用ApplicationDomain类

2、上面两个示例的源码

转载于:https://www.cnblogs.com/meteoric_cry/archive/2011/09/20/2182596.html

自定义Flex Library的使用相关推荐

  1. ActionScript3.0自定义Flex组件问题 重写组件的使用

    最近在做Flex的一些学习,需要对Flex组件重写,当然可以两种选择MXML和ActionScript3.0重写,当然MXML的可视化的操作为重写提供了方便,但是要是更改组件的默认属性和添加一些框架属 ...

  2. Flex 容器基本概念

    申明文章出处:http://www.adobe.com/cn/devnet/flex/articles/flex-containers-tips.html Flex 4 容器可以提供一套默认的布局:B ...

  3. SAP 电商云 Spartacus UI 的 style library 介绍

    Spartacus 项目的 angular.json 的 projects 节点下面,并没有和 style 相关的记录: build 里也同样没有: 这个 Storefrontstyles: 这个 s ...

  4. Flex入门的好书——《Flex3 Cookbook 中文版》

    本文标题:Flex入门的好书--<Flex3 Cookbook 中文版> 本文链接:http://zengrong.net/post/659.htm   Flex3 Cookbook 中文 ...

  5. Flex移动skin–第3部分:多平台开发

    在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用,特定密度的位图,以及CSS元媒介查询以调整和适应多种D ...

  6. [汇总]Flex面试题及答案

    1.我不想在容器里显示滚动条怎么办? 答:指定horizontalScrollPolicy和verticalScrollPolicy为off 2.请问Flex bulider3可以创建几种不同的项目? ...

  7. flex面试题及答案

    在网上见到了一篇不错的关于flex面试题目,转来记录一下.希望有所帮助! 第一部分: 1.使用Flex Bulider3建立一下新的.mxml的页面时默认的背景是蓝色的,请问 用什么办法能修改掉此背景 ...

  8. Flex移动皮肤开发(三)

    范例文件 mobile-skinning-part3 在关于创建Flex移动皮肤系列文章的第二部分里,我们讨论了屏幕密度(DPI)对组件皮肤以及移动应用布局所带来的影响. 我还展示了如何使用缩放应用, ...

  9. [转]ArcGIS.Server.9.3和ArcGIS API for Flex实现Query查询定位中心功能(七)

    目的: 1.ArcGIS API for Flex实现Query查询定位中心功能,进行属性查图的功能,选择图层然后输入查询语句进行查询把查到的地理元素高亮显示同时在右边的Grid中显示查到的数据,然后 ...

最新文章

  1. 机器学习之挖掘melb_data.csv数据
  2. ruby File类
  3. javascript:12种JavaScript MVC框架之比较
  4. funny alphabet
  5. 108. 奇数码问题【思维 / 逆序对】
  6. Codeforces 264B Good Sequences ★ (分解素因子+DP)
  7. 自绘列表框控件显示略缩图----再稍微改进点点。。
  8. MD文件图片base64自动编码
  9. 初学者注意:你需要明白编程的意义所在,否则是学不好编程的!
  10. find(),find_if(),以及巧妙的函数对象,函数适配器
  11. 兄dei,来封装一个自定义事件玩玩
  12. 图像分割学习笔记_1(opencv自带meanshift分割例子)
  13. windows phone 7 学习笔记 五 TileSample
  14. Python数据分析实战:TMDB电影数据可视化
  15. 15 使用计算机应遵守行业道德规范,初中信息技术会考试题 -
  16. WPA-PSK无线网络破解原理与过程
  17. 关于将数据写入文件的两个函数fwrite()与fprintf()的大不同 —————— 开开开山怪
  18. 洛谷 P1359 租用游艇
  19. win10右键卡顿原因_win10右键新建卡顿的问题
  20. 视音频冷知识——音箱线

热门文章

  1. 如果学习编程可以重来
  2. OFDM同步算法之Minn算法
  3. ACM提交,C++,G++,C,GCC的区别
  4. Markdown 图片助手-MarkdownPicPicker
  5. linux 知识汇总
  6. ionic ion-refresher
  7. Leetcode: Implement strStr()
  8. 终结由安装SVN 导致的异常——visual studio 2010 遇到了异常,可能是由某个扩展导致
  9. 解决百度网盘(百度云)分享链接不存在失效、分享的文件已经被取消的问题
  10. Swift - 异常处理