zoukankan      html  css  js  c++  java
  • Flex 加载资源方式

    Flex软件中经常需要使用一些外部的资源,如图片、声音、SWF或字体,第一种你也可以在软件运行的时候引入和载入,第二种可能经常需要直接将这些资源编译(Compile)到软件中,也就是直接嵌入资源(Embedding Assets)。Flex中可以直接嵌入图片image,影片movie,MP3,和TrueType文字。

    直接引用资源

    这种方式相对第二种速度慢,但用起来比较灵活。但我个人感觉flex的控件设计的不够方便,

    Image能接收Class,也能接收Bitmap,但是Icon不能接收Bitmap,Icon只能接收的是 Class对象。这就给用的人带来了很大的困扰。但由于很多人都遇到了这个问题,所以网上很多人使用IconUtility来实现直接引用资源。

     

    第二种方式是嵌入资源方式

    嵌入资源的利处:

    1、比起在运行时访问资源,对嵌入资源的访问速度更加快速;

    2、可以用简单的变量访问方式,在多个地方引用所嵌入的资源。这是变量就代表资源,提高写代码的效率;

    嵌入资源的弊处:

    1、增大了SWF文件的大小,因为是将资源直接包含;

    2、由于SWF文件增大,将使得初始化的速度变慢;

    3、当资源改变后,需要重新编译SWF文件;

    例子1:一个简单的嵌入资源的例子:

    <?xml version=”1.0”?>
    <!-- embed/ButtonIcon.mxml -->
    <mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”>
                 <mx:Button label=”Icon Button” icon=”@Embed(source=’logo.gif’)"/>
    </mx:Application>

    以上粗体部分,使用了@Embed()指令,将logo.gif这个图片直接嵌入到程序中,作为Button按钮的Icon图标。

    例子2:用变量引用嵌入的资源

    <?xml version="1.0"?>
    <!-- embed/ButtonIconClass.mxml -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
                 <mx:Script>
                     <![CDATA[
                         [Embed(source="logo.gif")]
                         [Bindable]
                         public var imgCls:Class;

                     ]]>
                 </mx:Script> ADOBE FLEX 3 BETA 2

                 <mx:Button label="Icon Button 1" icon="{imgCls}"/>
                 <mx:Button label="Icon Button 2" icon="{imgCls}"/>

    以上粗体部分,表示将logo.gif图片嵌入,并让变量imgCls可以引用该资源。[Bindable]表示该变量imgCls是可以被数据绑定的。之后,就可以在多个地方引用该嵌入资源的变量(见红色粗体)。

    另外也可以通过Embed()指令,在样式表中嵌入资源,这通常是在设置UI组件的皮肤时候使用。如下代码:

    <?xml version="1.0"?>
    <!-- embed/ButtonIconCSS.mxml -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
                <mx:Style>  
                    .myCustomButton {
                overSkin:Embed(source="overIconImage.gif");
                upSkin:Embed(source="upIconImage.gif");
                downSkin:Embed(source="downIconImage.gif");
                    }
                </mx:Style>
                <mx:Button label="Icon Button Style Def" styleName="myCustomButton"/>
    </mx:Application>

    以上代码表示在按钮的常态(up)、鼠标悬停(over)、鼠标按下(down)的状态,使用不同的皮肤。overSkin、 upSkin、downSkin是Button的对应状态下的皮肤属性。

  • 相关阅读:
    HDU2586 How far away?(tarjan的LCA)
    You Raise Me Up
    POJ2891 Strange Way to Express Integers(中国剩余定理)
    POJ2142 The Balance(扩展欧几里得)
    HDU 1166模仿大牛写的线段树
    NetWord Dinic
    HDU 1754 线段树裸题
    hdu1394 Minimum Inversion Number
    hdu2795 Billboard
    【完全版】线段树
  • 原文地址:https://www.cnblogs.com/muyuge/p/6152568.html
Copyright © 2011-2022 走看看