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

flex中嵌入swf文件

发布时间:2020-12-15 01:27: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. ????</ mx:Script > ??
  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:?

  1. <? xml ? version = "1.0" ? encoding = "utf-8" ?> ??
  2. < mx:Application ???
  3. ????xmlns:mx = "http://www.adobe.com/2006/mxml" ???
  4. ????viewSourceURL = "src/EmbeddingSwfLibraryAssets/index.html" ??
  5. ????layout = "horizontal" ? width = "450" ? height = "240" ??
  6. ????horizontalAlign = "center" ? verticalAlign = "bottom" ???????
  7. ??
  8. > ??
  9. ????
  10. ????< mx:Script > ??
  11. ????<![CDATA[ ?
  12. ????????????[Embed(source="assets/library.swf",?symbol="BadApple")] ?
  13. ?
  14. ????????????[Bindable] ?
  15. ????????????public?var?BadApple:Class; ?
  16. ???????????? ?
  17. ????????????[Embed(source="assets/library.swf",?symbol="Pumpkin")] ?
  18. ?
  19. ????????????[Bindable] ?
  20. ????????????public?var?Pumpkin:Class; ?
  21. ???????????????????????? ?
  22. ????????]]> ??
  23. ????</ mx:Script > ??
  24. ??
  25. ????< mx:Image ? id = "badApple" ? source = "{BadApple}" ? width = "150" ? height = "151.8" /> ??
  26. ??
  27. ????< mx:Image ? id = "pumpkin" ? source = "{Pumpkin}" ? width = "150" ? height = "131.7" /> ??
  28. ??????
  29. ??
  30. </ mx:Application > ??

例子3:
下面的例子使用3个不同的标识符加载“assets/icons.swf”文件。每个资源都被赋予了不用的变量。这样即使使用同一个SWF文件,它们也能很容易的引用独立的资源。?

  1. <? xml ? version = "1.0" ? encoding = "utf-8" ?> ??
  2. <!--?http://blog.flexexamples.com/2007/07/25/embedding-assets-from-swf-files/?--> ??
  3. < mx:Application ? xmlns:mx = "http://www.adobe.com/2006/mxml" ? layout = "vertical" ? verticalAlign = "middle" ? backgroundColor = "white" > ??
  4. ??
  5. ????< mx:Script > ??
  6. ????????<![CDATA[ ?
  7. ????????????[Bindable] ?
  8. ????????????[Embed('assets/icons.swf',?symbol='bulletCheck')] ?
  9. ????????????private?static?var?BULLET_CHECK:Class; ?
  10. ?
  11. ????????????[Bindable] ?
  12. ????????????[Embed('assets/icons.swf',?symbol='bulletCritical')] ?
  13. ????????????private?static?var?BULLET_CRITICAL:Class; ?
  14. ?
  15. ????????????[Bindable] ?
  16. ????????????[Embed('assets/icons.swf',?symbol='bulletWarning')] ?
  17. ????????????private?static?var?BULLET_WARNING:Class; ?
  18. ????????]]> ??
  19. ????</ mx:Script > ??
  20. ??
  21. ????< mx:Button ? id = "checkBtn" ? label = "Check" ? icon = "{BULLET_CHECK}" ? /> ??
  22. ????< mx:Button ? id = "warningBtn" ? label = "Warning" ? icon = "{BULLET_WARNING}" ? /> ??
  23. ????< mx:Button ? id = "critcalBtn" ? label = "Critical" ? icon = "{BULLET_CRITICAL}" ? /> ??
  24. ??
  25. </ mx:Application > ??

你也可以重构一下代码,使它看起来跟优雅。把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. }??
  1. <? xml ? version = "1.0" ? encoding = "utf-8" ?> ??
  2. <!--?http://blog.flexexamples.com/2007/07/25/embedding-assets-from-swf-files/?--> ??
  3. < mx:Application ? xmlns:mx = "http://www.adobe.com/2006/mxml" ? layout = "vertical" ? verticalAlign = "middle" ? backgroundColor = "white" > ??
  4. ??
  5. ????< mx:Button ? id = "checkBtn" ? label = "Check" ? icon = "{Images.BULLET_CHECK}" ? /> ??
  6. ????< mx:Button ? id = "warningBtn" ? label = "Warning" ? icon = "{Images.BULLET_WARNING}" ? /> ??
  7. ????< mx:Button ? id = "critcalBtn" ? label = "Critical" ? icon = "{Images.BULLET_CRITICAL}" ? /> ??
  8. ??
  9. </ mx:Application >

(编辑:李大同)

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

    推荐文章
      热点阅读