加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex中嵌入swf文件

发布时间:2020-12-15 04:39:33 所属栏目:百科 来源:网络整理
导读:嵌入 SWF 文件与嵌入图像几乎是相同的。 差别在于您可以将嵌入的 SWF 文件的实例当作 MovieClip 类的实例处理。 (它们实际上是 MovieClipAsset 类的子类,MovieClipAsset 类是 MovieClip 类的子类。) 注意: 您无法直接访问嵌入的 SWF 文件的属性或方法。 但是

嵌入 SWF 文件与嵌入图像几乎是相同的。 差别在于您可以将嵌入的 SWF 文件的实例当作 MovieClip 类的实例处理。 (它们实际上是 MovieClipAsset 类的子类,MovieClipAsset 类是 MovieClip 类的子类。)

注意: 您无法直接访问嵌入的 SWF 文件的属性或方法。 但是,您可以使用 LocalConnection 以允许它们进行通信。

例子1:?

  1. <??xml???version?=?"1.0"???encoding?=?"utf-8"??>???
  2. <?mx:Application????
  3. ????xmlns:mx?=?"http://www.adobe.com/2006/mxml"????
  4. ?????viewSourceURL?=?"src/EmbeddingSwfFiles/index.html"???
  5. ????layout?=?"horizontal"???width?=?"290"???height?=?"290"???
  6. ????horizontalAlign?=?"center"???verticalAlign?=?"middle"???
  7. ?>???
  8. ??
  9. ????mx:Script?>???
  10. ????<![CDATA[??
  11. ????????????[Embed(source="assets/hourglass.swf")]??
  12. ?
  13. ????????????[Bindable]??
  14. ????????????public?var?Hourglass:Class;??????????????
  15. ????????]]>???
  16. ????</?>???
  17. ??
  18. ????mx:Image???id?=?"hourglass"???source?=?"{Hourglass}"?/>???
  19. mx:Application?>???

?

嵌入 SWF 库资源

您可以在应用程序中嵌入来自现有 SWF 库中的特定符号。 Flash 定义三种类型的符号: Button、MovieClip 和 Graphic。 您可以在 Flex 应用程序中嵌入 Button 和 MovieClip 符号,但您不能嵌入 Graphic 符号,因为无法为 ActionScript 导出 Graphic 符号。

此示例使用 [Embed] 元数据标签的 source 属性来指定包含您的库的 SWF 文件,并使用 [Embed] 元数据标签的 symbol 属性来指定您要在该库中嵌入的符号的链接 ID。?

例子2:?

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"????????
  • ??
  • >???
  • ????
  • ????>???
  • ????<![CDATA[??
  • ????????????[Embed(source="assets/library.swf",?symbol="BadApple")]??
  • ?
  • ????????????[Bindable]??
  • ????????????public?var?BadApple:Class;??
  • ??????????????
  • ??
  • ?
  • ????????????public?var?Pumpkin:Class;??
  • ??????????????????????????
  • ????????]]>???
  • ????mx:Image???id?=?"badApple"???source?=?"{BadApple}"???width?=?"150"???height?=?"151.8"?/>???
  • ??
  • ????mx:Image???id?=?"pumpkin"???source?=?"{Pumpkin}"???width?=?"150"???height?=?"131.7"?/>???
  • ??????
  • ??
  • 例子3:
    下面的例子使用3个不同的标识符加载“assets/icons.swf”文件。每个资源都被赋予了不用的变量。这样即使使用同一个SWF文件,它们也能很容易的引用独立的资源。?

    ?>???
  • <!--?http://blog.flexexamples.com/2007/07/25/embedding-assets-from-swf-files/?-->???
  • mx:Application???xmlns:mx?=?"http://www.adobe.com/2006/mxml"???layout?=?"vertical"???verticalAlign?="middle"???backgroundColor?=?"white"?>???
  • ????????????????????[Embed('assets/icons.swf',?symbol='bulletCheck')]??
  • ????????????private?static?var?BULLET_CHECK:Class;??
  • ?
  • ????????????private?static?var?BULLET_CRITICAL:Class;??
  • ?
  • ????????????private?static?var?BULLET_WARNING:Class;??
  • mx:Button???id?=?"checkBtn"???label?=?"Check"???icon?=?"{BULLET_CHECK}"???/>???
  • ????mx:Button???id?=?"warningBtn"???label?=?"Warning"???icon?=?"{BULLET_WARNING}"???/>???
  • ????mx:Button???id?=?"critcalBtn"???label?=?"Critical"???icon?=?"{BULLET_CRITICAL}"???/>???
  • ??
  • 你也可以重构一下代码,使它看起来跟优雅。把Embed标签和各种变量移到一个独立的ActionScript文件中,就像下面这样。

    Images.as:

    1. package???
    2. {??
    3. ????public???class??Images??
    4. ????{??
    5. ????????[Embed('assets/icons.swf'?,?symbol=?'bulletCheck'?)]??
    6. ????????public???static???const??BULLET_CHECK:Class;??
    7. ??
    8. ????????[Embed('assets/icons.swf'?,?symbol=?'bulletCritical'?)]??
    9. ????????public???static???const??BULLET_CRITICAL:Class;??
    10. ??
    11. ????????[Embed('assets/icons.swf'?,?symbol=?'bulletWarning'?)]??
    12. ????????public???static???const??BULLET_WARNING:Class;??
    13. ????}??
    14. }??
    mx:Button???id?=?"checkBtn"???label?=?"Check"???icon?=?"{Images.BULLET_CHECK}"???mx:Button???id?=?"warningBtn"???label?=?"Warning"???icon?=?"{Images.BULLET_WARNING}"???mx:Button???id?=?"critcalBtn"???label?=?"Critical"???icon?=?"{Images.BULLET_CRITICAL}"???>???
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读