`
天梯梦
  • 浏览: 13731591 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

使用@Embed嵌入元素

阅读更多

以在Flex应用程序中嵌入各种元素。被嵌入的元素将编译进SWF文件。它们不是在运行时载入的,所以不必为应用程序部署原元素。
 
可以嵌入的图像格式有PNG、JPEG、GIF。嵌入后可以同时使用它的多个实例。

下面的例子使用[Embed]原标签经image嵌入应用程序,并且采用绑定ActionScript类的形式。这就可以绑定Image控件的source属性到Logo类。可以绑定Logo类到任何可以使用image的组件属性上,比如Button控件的icon属性。
例子:

<?xml version="1.0" encoding="utf-8"?>

<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/EmbeddingImages/index.html"
    layout="horizontal" width="350" height="250">
    
    <mx:Script>
        <![CDATA[
            [Embed(source="assets/logo.png")]
            [Bindable]

            public var Logo:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="myLogo" source="{Logo}"/>

    <mx:Image id="myLogo2" source="{Logo}"/>

</mx:Application>

 

-----------------------------------------------------------------

如果想只使用一个实例的话,可以使用内部@Embed直接将图像嵌入Flex应用程序。

下面的例子添加了一个Image组件,并且使用@Embed直接定业了它的source属性。要使用相同的image,就必须再次将此image嵌入到那个组件中。

如果想显示一个嵌入image的多个实例,可以用[Embed]原标签代替。

例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application

<!-- http://yecon.blog.hexun.com/29628260_d.html -->
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/EmbeddingAnImage/index.html"
    width="200" height="240">


    <mx:Image id="myLogo" source="@Embed('assets/logo.png')"/>

</mx:Application>
 

 -----------------------------------------------------------------

可以在Flex应用程序中嵌入image,并且可以将它应用于组件的皮肤。可以定义一个CSS选择器,以设置所有组件的皮肤。

在下面的例子中,为Button控件创建了一个CSS选择器。

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/EmbeddingImagesCSS/index.html"
    layout="horizontal" width="270" height="100"
    horizontalAlign="center" verticalAlign="middle">

    <mx:Style>
        Button
        {
            upSkin: Embed("assets/box_closed.png");

            overSkin: Embed("assets/box.png");
            downSkin: Embed("assets/box_new.png");

        }
    </mx:Style>
    
    <mx:Button/>
    
    <mx:Text text="Roll over and click the box!"/>

</mx:Application>
 

-----------------------------------------------------------------

嵌入SWF文件的方法与嵌入IMAGE的方法差不多,只是可以把已嵌入的SWF文件实例当做MovieClip类。

(不可直接访问嵌入SWF文件的属性和方法,但是可以使用LocalConnection来允许他们之间的通信)

 
例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
     viewSourceURL="src/EmbeddingSwfFiles/index.html"
    layout="horizontal" width="290" height="290"
    horizontalAlign="center" verticalAlign="middle"
 >

    <mx:Script>
    <![CDATA[
            [Embed(source="assets/hourglass.swf")]

            [Bindable]
            public var Hourglass:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="hourglass" source="{Hourglass}"/>
</mx:Application>
 

-----------------------------------------------------------------

可以嵌入存在于应用程序的SWF文件库里的特殊标签。

Flash定义了三种类型的标签:Button、MovieClip、Graphic。可以嵌入Button和MovieClip标签到Flex应用程序,但是不不能嵌入Graphic标签。
 

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    viewSourceURL="src/EmbeddingSwfLibraryAssets/index.html"
    layout="horizontal" width="450" height="240"
    horizontalAlign="center" verticalAlign="bottom">
 
    <mx:Script>
    <![CDATA[
            [Embed(source="assets/library.swf", symbol="BadApple")]

            [Bindable]
            public var BadApple:Class;
            
            [Embed(source="assets/library.swf", symbol="Pumpkin")]

            [Bindable]
            public var Pumpkin:Class;
                        
        ]]>
    </mx:Script>

    <mx:Image id="badApple" source="{BadApple}" width="150" height="151.8"/>

    <mx:Image id="pumpkin" source="{Pumpkin}" width="150" height="131.7"/>    

</mx:Application>
 


 -----------------------------------------------------------------

可以通过使用[Embed]原标签的方法在Flex应用程序中嵌入MP3文件。

 
例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"

    layout="vertical" horizontalAlign="center" verticalAlign="center"

    viewSourceURL="srcEmbeddingSoundFiles/index.html">

    <mx:Script>
        <![CDATA[
            import mx.core.SoundAsset;
            import flash.media.*;

            [Embed(source="assets/pie-yan-knee.mp3")]

            [Bindable]
            public var Song:Class;

            public var mySong:SoundAsset = new Song() as SoundAsset;
            public var channel:SoundChannel;
            
            public function playSound():void
            {

                // Make sure we don't get multiple songs playing at the same time
                stopSound();
                
                // Play the song on the channel
                channel = mySong.play();
            }
            
            public function stopSound():void
            {

                // Stop the channel, but only if it exists
                if ( channel != null ) channel.stop();
            }

        ]]>
    </mx:Script>
    
    <mx:HBox>
        <mx:Button label="play" click="playSound();"/>

        <mx:Button label="stop" click="stopSound();"/>        
    </mx:HBox>
    
    <mx:Text width="348" textAlign="center" color="#ffffff">

        <mx:htmlText>
            <![CDATA[<a href="http://derekaudette.ottawaarts.com/music.php">Pie-Yan-Knee Written and Performed by: Derek R. Audette (c) 2004 (Creative Commons Attribution License)</a>]]>
        </mx:htmlText>
    </mx:Text>
    
</mx:Application>
 

 
-----------------------------------------------------------------

可以在Flex应用程序中嵌入SVG文件

 
例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="horizontal"
    viewSourceURL="srcEmbeddingSvgFiles/index.html"
    width="600" height="470"

>
    <mx:Script>
    <![CDATA[
            [Embed(source="assets/frog.svg")]

            [Bindable]
            public var SvgFrog:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="smallFrog" source="{SvgFrog}" width="128" height="130"/>

    <mx:Image id="largeFrog" source="{SvgFrog}"/>
</mx:Application>
 

-----------------------------------------------------------------

可以在Flex应用程序中嵌入字体

 
例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    layout="horizontal"
    horizontalAlign="center"
    verticalAlign="center"
    viewSourceURL="src/EmbeddingFonts/index.html">

    <mx:Style>
        @font-face
        {
            font-family: Copacetix;

            src: url("assets/copacetix.ttf");
            unicode-range:
                U+0020-U+0040, /* Punctuation, Numbers */

                U+0041-U+005A, /* Upper-Case A-Z */
                U+005B-U+0060, /* Punctuation and Symbols */
                U+0061-U+007A, /* Lower-Case a-z */
                U+007B-U+007E; /* Punctuation and Symbols */

        }

        .MyTextStyle
        {
            font-family: Copacetix;
            font-size: 24pt;    
        }

    </mx:Style>

    <mx:Text styleName="MyTextStyle" text="Embedded fonts rock!" width="100%"/>    

</mx:Application>
 

 

分享到:
评论

相关推荐

    Embed嵌入XML

    标题"Embed嵌入XML"指的是如何使用AS3的`Embed`元标签来加载并使用XML文件。这种方式使得XML数据在运行时无需通过网络加载,提高了应用程序的响应速度和离线可用性。 首先,我们需要了解`Embed`元标签的基本语法。`...

    embed使用,embed播放多媒体

    本文将深入探讨`embed`元素的使用方法、属性以及其在多媒体播放中的作用。 ### 一、embed的基本结构 `embed`标签通常用于插入外部资源,例如: ```html &lt;embed src="path_to_your_media_file" width="320" height...

    HTML5 embed 标签使用方法介绍

    然而,由于现代网页设计中越来越多的使用了`&lt;video&gt;`和`&lt;audio&gt;`等元素来播放媒体内容,`&lt;embed&gt;`标签的使用频率有所下降,但它仍然在某些特定场景中发挥着作用。 需要注意的是,由于`&lt;embed&gt;`标签在HTML5中的属性...

    embed标签使用详解

    ### embed标签使用详解 #### 一、概述 `embed`标签是HTML中用于播放多媒体对象的一个重要元素,如Flash、音频、视频等。通过合理的属性配置,开发者可以在网页上实现多媒体内容的有效展示与互动。 #### 二、基本...

    网页中嵌入播放器embed元素autostart false失效

    embed元素是HTML中用于嵌入外部应用或资源的关键元素,如音频、视频、Flash动画等。然而,在实际应用中,可能会遇到一些问题,比如“embed元素autostart=false失效”就是一个常见的问题。 embed元素的基本结构如下...

    flex绑定资源文件1

    [Bindable]标记意味着该变量的改变会触发视图的更新,而[Embed]则用于将外部资源如图片嵌入到编译后的SWF文件中。例如,在资源类中,我们可以创建多个静态公共变量,每个变量都与一个图片文件关联: ```...

    动态修改Embed的src属性

    在网页开发中,`&lt;embed&gt;` 标签用于嵌入外部资源,如音频、视频、插件等。本文将深入探讨如何动态修改 `&lt;embed&gt;` 元素的 `src` 属性,以及这样做带来的实际效果和应用场景。 动态修改 `src` 属性是网页交互中的常见...

    embed embed

    embed标签是HTML中用于嵌入外部资源的元素,主要应用于网页中插入音频、视频等多媒体内容。由于HTML5的兴起,现在更多使用video和audio标签来处理多媒体,但embed仍然在某些场景下被使用,尤其是在兼容旧版浏览器时...

    Html 标签embed 动态显示

    在HTML中,`&lt;embed&gt;`标签是一个非常重要的元素,它允许我们嵌入外部资源,如音频、视频、Flash动画等,使得网页内容更加丰富多彩和动态。 `&lt;embed&gt;`标签的使用方式如下: ```html &lt;embed src="资源URL" width="宽度...

    embed-script:将脚本元素嵌入到可滚动HTML页面中

    EMBED-SCRIPT元素是设置了data-embed-script属性的任何元素。 此属性的值是要加载的EMBED-SCRIPT包的名称。 可选属性data-embed-param可用于指定脚本操作的其他参数。 装载和包装: 您可以通过将以下行放在文档的&...

    前端项目-embed-js.zip

    配置选项可能包括设置自定义的解析规则、调整样式或控制嵌入元素的行为。一旦配置完成,插件就会自动处理页面中的字符串,将符合条件的内容转换为富媒体元素。 总之,embed-js是一个强大的前端工具,它可以增强网页...

    Embed-Generator:一个使用json代码进行嵌入的嵌入生成器机器人!

    在"Embed-Generator"中,JSON被用来结构化地定义嵌入消息的各个元素,如标题、描述、颜色、图像等,使得生成的嵌入消息具有高度的可定制性。 2. **Discord-JS(djs)库**: Discord-JS是一个广泛使用的JavaScript...

    html嵌入html,高度自适应,标签切换。

    至于"网页嵌入网页自"这一标签,可能是描述的简化或者拼写错误,但可以理解为网页嵌入其他网页并能自我适应各种屏幕尺寸的能力。 在"新建文件夹 (2)"这个压缩包内,可能包含了实现上述功能的HTML、CSS和JavaScript...

    embed-notion:嵌入概念组件

    嵌入概念 用于概念嵌入组件的Web服务器。 这样,您就可以使用其他功能,例如流程图... 在markdown块中更新内容后,双击embed组件,它将重新加载。 自托管 如果在onw服务器上使用它,则需要环境变量: ENCRYPTION_KEY=s

    embed

    - 使用CSS可以调整`&lt;embed&gt;`元素的大小,例如:`width: 500px; height: 300px;`来设定宽度和高度。 - `display`属性可以决定`&lt;embed&gt;`元素如何参与布局,如`block`、`inline`或`inline-block`。 - `position`属性...

    .net 页面嵌入Excel源码

    2. **HTML5和JavaScript**:在前端,可以使用HTML5的`&lt;object&gt;`或`&lt;embed&gt;`标签将Excel文件嵌入到页面中。这样,用户可以在浏览器中直接查看Excel内容,但不支持编辑。如果需要编辑功能,可以考虑使用如SheetJS这样...

    flv在线播放器源码,使用js文件和embed标签

    在FLV播放器中,`embed`标签通常与Flash Player一起使用,因为FLV格式是Adobe Flash技术的一部分。 源码中的JavaScript文件可能包含了以下关键功能: 1. **初始化播放器**:JavaScript文件可能包含初始化播放器的...

    saiku-embed-element:使用Polymer嵌入Saiku Analytics的Web组件

    - `saiku-embed-element.html`: 主要的Web组件文件,定义了saiku-embed-element的自定义元素。 - `styles.css`: 组件的样式文件,用于定义外观和布局。 - `scripts.js`: JavaScript文件,包含了组件的功能逻辑。 - `...

    前端项目-embed-box.zip

    在这个项目中,"embed-box"可能是一个专为嵌入内容设计的组件或工具,它可能允许用户在网站上方便地插入各种媒体,如视频、音频、地图或其他富媒体元素。 以下是这个项目涉及的一些关键知识点: 1. **HTML**:超...

Global site tag (gtag.js) - Google Analytics