- 浏览: 373124 次
- 性别:
- 来自: 青岛
文章分类
最新评论
-
lippeng:
楼主,你好!这篇中提到的一个话题,是我现在非常关心的,我自己还 ...
使用JUnit测试通过 HttpClient(https协议)访问支付宝接口时不能自动获得证书的解决办法 -
snoopy7713:
[2014-03-14 17:55:06.651] TCP ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
snoopy7713:
需要看一下,你的代码说的挺模糊的。我的联系方式QQ 16200 ...
刚完成Struts的Virgo插件,分享一下设计思路和Virgo OSGi内部的独特机制 -
roronjavaeye:
不错,受教了
java_class反编译后的代码还原 -
daoyongyu:
讲的很好,很详细。
Struts2配置文件详解——struts.properties
设置舞台大小
[SWF(width = "800", height = "600", backgroundColor = "0x000000", frameRate = "30")]
嵌入GIF,PNG,JPEG,MP3文件
这一部分描述怎么中Flash CS4专业版中利用[Embed]元数据标签嵌入GIF,PNG,JPEG,或者MP3文件。第一个示例来看看嵌入GIF文件的过程。
如果你没有准备好,一定要下载本文章第一页可用的样例文件。跟着提供的例子,解压ZIP文件,然后打开名称为\gif的目录检查示例文件:
1、选择"文件">"新建">"Flash文件(ActionScript 3.0)"菜单,创建一个新的Flash CS4文件.
2、保存这个Flash文件为GIFEmbed.fla.
3、选择"文件">"新建">"ActionScript文件",来创建一个新的ActionScript文件.
4、保存ActionScript文件为GIFEmbed.as.
5、当GIFEmbed.as是活动标签,拷贝并粘贴如下代码到脚本窗口:
package { import flash.display.*;
public class GIFEmbed extends Sprite { [Embed(source = "../assets/talapetra.gif")] private var theClass:Class;
public function GIFEmbed () { var displayObj:DisplayObject = new theClass(); addChild (displayObj); } } }
代码中的高亮行包括了源属性,指示了嵌入的名称和资源的路径。你可以使用绝对路径或者文档文件的相对路径来包含嵌入的描述。在这个示例中,这个名称 为GIFEmbed.as的ActionScript类指示了定位到命名为\assets的文件夹中,这个文件夹包含了talapetra.gif的图片 文件。
注意:[Embed]元数据标签可以有另外一个可选属性,mimeType,它允许你指定链接资源的MIME类型。我将在后面再具体的讨论这个属性。
ActionScript代码的顺序非常重要。你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class。在下面的代码片段中,[Embed]元数据标签中一个成为theClass,类型声明为Class的私有变量前使用:
[Embed(source = "../assets/talapetra.gif")] private var theClass:Class;
在名称为GIFEmbed的函数内部,一个新的类型为DisplayObject命名为displayObj的变量被用来实例化theClass为 一个新的DisplayObject。下一行使用addChild方法将displayObj添加到了显示列表当中,并在舞台上渲染:
var displayObj:DisplayObject = new theClass(); addChild (displayObj);
参考示例文件,查看文件夹结构,确认GIFEmbed.as类文件和名称为 talapetra.gif的GIP图片的路径(放在assets目录中)。
6、做了这些改变之后,保存GIFEmbed.as 。
7、点击相应的标签打开 GIFEmbed.fla文件。点击舞台,在属性面板中查看发布属性。
8、在文档类输入框中输入类名,将类作为文档类与Flash文件关联。在这个示例中,输入你创建的类名GIFEmbed(如图1)。
图1:在属性面板的文档类框中输入类名
9、选择"控制">"测试影片"来测试影片。
一个错误信息会出现,因为项目尝试用了一个在Flash CS4中的特性,这需要一些额外的Flex类。Flash检测了缺少的Flex类,并显示如图2的信息。
图2:Flex SDK需求信息窗口
在这个对话框中,你有一个选项可以将路径指向Flex SDK,但是这并不是必须浏览指向的,因为路径已经设置了。你需要做的是,点击"更新库路径"按钮来确保flex.swf的正确路径 ($(FlexSDK)/frameworks/libs/flex.swf)自动地添加到当前FLAS文件的库路径中。
注意:在第一次运行SWF文件之后,Flex SDK需求窗口不会再出现。取而代之,你会看到编译错误,看成是缺失类(如图3)。
图3:随后尝试运行SWF时编译错误结果
10、点击"更新库路径"按钮将flex.swf文件从Flex SKD添加到FLA文件的库路径。
11、根据如下步骤,你会看到会发生什么:
1、选择"文件">"发布设置",然后点击Flash标签; 2、点击脚本下拉菜单后面的设置按钮(如图4);
图4:在Flash标签上,点击设置按钮访问ActionScript的设置
3、在高级AS3设置窗口中,选择库路径标签。列表包含了Flex SDK目录中的flex.swc的路径(如图5)。
图5:检查flex.swf显示在库路径标签列表中
12、点击确认按钮关闭AS设置窗口。然后点击确认关闭发布设置对话框。
13、选择"控制">"测试影片"来再次测试SWF。独立的Flash播放器显示了SWF文件,现在它正确地显示了嵌入GIF文件(如图6)。
图6:SWF文件显示了嵌入元数据源的数据
正如我之前提到的,[Embed]元数据标签带有两个属性: Source:(必选的)使用这个属性来确认嵌入资源的名称和路径。如果你嵌入了一个元件,你可以用元件的关键词确定元件认嵌入到SWF中的名字。 mimeType:(可选的)使用这个属性来确定嵌入资源的MIME类型。如果这个属性没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型。
Flash CS4专业版支持与Flex一样的一系列MIME类型:
application/x-font application/x-font-truetype application/x-shockwave-flash audio/mpeg image/gif image/jpeg image/png image/svg image/svg-xml
在帧脚本中使用[Embed]标签
同前面列出的过程一样,元数据也可以应用到帧脚本。在这段中,我会描述怎么利用[Embed]标签来嵌入元数据到帧脚本中。如果你跟着示例文件,请参阅<Embed on Frame Script>目录下的文件:
1、通过选择"文件">"新建">"Flash文件(ActionScript 3.0)"菜单来创建一个新的Flash CS4文件;
2、将这个Flash文件保存为GIFEmbed.fla。
3、选择图层1的第一帧并打开动作面板("窗口">"动作")。
4、拷贝如下代码,并粘贴到脚本窗口:
[Embed(source="../assets/talapetra.gif")] var theClass:Class; var displayObject:DisplayObject = new theClass(); addChild(displayObject);
5、重复前面一个段落的10-13步测试SWF文件,并更新Flex SDK目录库路径来添加flex.swc文件。
从SWF文件中嵌入一个元件
在前面的段落中,我写了使用[Embed]标签利用GIF文件嵌入图像的元数据的过程。显示外部数据非常有用,但是当使用[Embed]元数据标签是会有很多可能的情况。这个段落中会描述嵌入整个SWF文件或者一个SWF文件中的一些特殊元件的步骤。
如果你随着下载的示例文件学习,请参阅文件夹中的文件名为<SWF with slice 9>的示例 。按照如下步骤:
1、在Flash CS4中,选择"文件">"打开",从示例文件的<SWF with slice 9>目录中选择"Movie.fla"文件。
2、选择"窗口">"库",打开库面板(如果它还没有打开的话)。
3、右键(或者苹果机上Control-click)点击库中的"Slice9"元件,从上下文菜单中选择"属性"(如图7)。
图7:当右键点击库中的"Slice9"元件是出现的菜单中选择"属性"
4、在元件属性对话框中,选择"Export for ActionScript"选项(如果没有被选中的话),如图8所示。
图8:在元件属性对话框中检查"Export for ActionScript"选项
注意:在这个练习中,也需要确保"Enable Guides for 9-Slice Scaling"选项被选中。
5、选择"控制">"测试影片"来测试FLA文件。
6、关闭独立播放器的movie.swf。也关闭Flash的movie.fla。
7、选择"文件">"新建">"Flash文件(ActionScript 3.0)",命名为SWFEmbed.fla。
8、选择"文件">"新建">"ActionScript文件",命名为SWFEmbed.as。
9、复制并粘贴如下代码到SWFEmbed.as文件的脚本窗口中:
package { import flash.display.*; import flash.events.MouseEvent; import flash.geom.Rectangle;
public class SWFEmbed extends MovieClip { public var displayObj:DisplayObject; [Embed(source="Movie.swf", symbol="Slice9")] var theClass:Class;
public function SWFEmbed() { displayObj = new theClass(); addChild(displayObj); displayObj.x = 200; displayObj.y = 220; } } }
在这段代码中,[Embed]元数据标签使用了source参数来确认将被嵌入的SWF文件的名称和路径。symbol参数来确认特殊元件的名称,这个元件是从source参数关联的SWF文件中嵌入的。
10、添加了代码之后,保存ActionScript文件为 SWFEmbed.as。
11、点击Flash CS4中其他的标签,激活SWFEmbed.fla标签。在舞台上点击一次,在属性检查中查看发布属性。
12、在文档类区域,输入类名SWFEmbed,链接ActionScript文件到Flash文件。
13、选择"控制">"测试影片"来在独立播放器中查看SWF。Flex SDK Required对话框出现(如图9)。
图9:信息表明这个工程需要Flex SDK
14、点击"Update Library Path"按钮,从Flex SDK中添加flex.swc到FLA文件的库路径中。
15、选择"控制">"测试影片"来再次预览SWF,你会看到元件显示在SWFEmbed.swf文件中(如图10)。
图10:在SWFEmbed.swf中显示元件元数据
使用[Embed]标签嵌入字体
除了嵌入图片文件,SWFs,还有SWFs中的元件以外,[Embed]元数据标签还可以嵌入OpenType和TrueType字体到Flash 文件中。在这个段落中,我将演示怎么使用[Embed]元数据标签在Flash CS4中嵌入字体。这篇文章将定你已经安装了Arial Bold字体在你的系统中。如果你没有这个字体,你可以从 SearchFreeFonts.com或者类似网站上购买它。
注意:[Embed]元数据标签仅仅支持类和成员变量,如果你尝试在函数前使用[Embed]标签,如下的编译错误将会显示: "Embed is only supported on classes and member variables."(Embed仅仅支持类和成员变量)
如果你是跟随教程学习,请参阅示例文件中TrueType目录。
1、选择"文件">"新建">"ActionScript文件",创建一个新的ActionScript文件。
2、保存文件为FontClass.as。
3、拷贝并粘贴如下代码到脚本窗口中:
package { import flash.text.*; import flash.display.MovieClip; public class FontClass extends MovieClip { [Embed(source="Arial Bold.ttf", fontName="myFont", fontWeight="bold", advancedAntiAliasing="true", mimeType="application/x-font")] private var theClass:Class; public function FontClass () { var t:TextField=new TextField(); t.embedFonts = true; var textFormat:TextFormat=new TextFormat(); textFormat.size = "30"; textFormat.font = "myFont"; t.text = "[Embed] metadata rocks!!!"; t.width = 500; t.setTextFormat (textFormat); addChild (t); } } }
上面代码中的高亮部分,[Embed]元数据标签中使用到如下的参数来嵌入一个Arial bold字体:
Source: 这个参数指出了font文件的位置。如果愿意,你可以使用systemFont参数确认名称而不是source来嵌入系统字体。 fontName: 这个参数指明了嵌入字体的名称,字体的名称是一个唯一标识,所以你可以通过名称来调用字体。 mimeType: 这个参数描述了嵌入元数据的MIME类型。因为你在这个例子中嵌入了一种字体,你可以设置MIME类型为"application/x-font"。 fontWeight: 这个参数表明了字体的粗细,如粗体或者正常。
注意:如果字体有粗细,并且你没有在[Embed]元数据标签中包含fontWeight参数,当测试SWF文件是,你会看到如下编译错误:
Exception during transcoding: Font for alias 'myFont' with plain weight and style was not found at... (意外的转换:带有粗细和样式的别名为'myFont'的字体没有被找到在...)
随着嵌入字体的路径(如图11)。
图11:如果嵌入字体的粗细在参数中没有明确,将会显示编译错误
如果嵌入字体有特殊的样式(如斜体),在[Embed]元数据标签中没有使用fontStyle参数来明确,同类型的错误也将会显示出来。当使用元数据嵌入字体时,请确保明确所有必需的参数。
4、粘贴代码到脚本窗口后,确保保存文件为FontEmbed.as。
5、选择"文件">"新建">"Flash文件(ActionScript 3.0)"来创建一个新的Flash文件。
6、保存Flash文件为EmbedFont.fla。
7、点击舞台访问属性窗口(选择"窗口">"属性")。
8、在发布属性中,输入类型FontClass到文档类文本框中。
9、选择"控制">"测试影片",测试FLA。
10、当<Flex SDK Required>对话框出现时,点击<Update Library Path>按钮。这引导Flash将flex.swc添加到FLA文件的库路径。你可以再次测试FLA文件。
11、选择"控制">"测试影片"。这次,预期的文本(粗体的Arial字体)显示在EmbedFont.swf文件中(如图12)。
图12:使用嵌入字体外观和粗细,测试FLA文件,查看显示信息
使用嵌入的XML文件
在这篇文章的前面段落中,我讲述了使用 [Embed] 元数据标签嵌入图形文件,SWF文件,SWF文件中元件,还有字体等到SWF中。所有这些可能性都是非常有用的,不过还有另外一种类型的文件也可以采用 [Embed] 元数据标签嵌入到SWF中:XML文件。
我保留最好的到最后,这是因为这个功能对于将外部数据导入到SWF中非常用用 -- 而且很直接地就可以完成。根据嵌入的XML数据,你可以做一些有趣的事情,为将来的工程记住这个是一个极好的提醒。
下面的示例提供了使用 [Embed] 元数据标签嵌入一个XML文件的一个说明。如果你跟随教程学习,请参阅示例文件的XML目录。
1、选择"文件">"新建">"Flash文件(ActionScript 3.0)"创建文件,并保存文件为XMLLoader.fla。
2、选择"文件">"新建">"ActionScript文件"创建文件,并保存文件为 XMLLoader.as。
3、当XMLLoader.as被激活,拷贝并粘贴如下如下代码到脚本窗口:
package { import flash.display.*; import flash.utils.ByteArray; public class XMLLoader extends Sprite { [Embed(source = "training.xml",mimeType = "application/octet-stream")] private var theClass:Class; public function XMLLoader () { var xmlObj:Object = new theClass(); trace(xmlObj); } } }
注意:当嵌入XML数据时,你必须将mimeType参数设置为"application/octet-stream"。 Flash不能通过XML文件的扩展名检测正确的MIME类型,所以无论什么时候你嵌入XML数据时都要设置mimeType参数。
4、将代码粘贴到脚本窗口后,确保保存XMLLoader.as文件。
5、激活XMLLoader.fla标签页。如果属性窗口还没有打开,在舞台上点击一次,打开属性检查器("窗口">"属性")。
6、在发布属性中,在文档类文本框中输入类名。在这个示例中,添加你创建的类:XMLLoader。
7、选择"控制">"测试影片"测试FLA。<Flex SDK Required>对话框出现了。
8、点击< Update Library Path >按钮将flex.swc添加到FLA文件库路径。
9、再次选择"控制">"测试影片"测试FLA。这次你会看到XML数据显示在输入面板中(如图13)。
图13:输出面板显示嵌入到SWF中的XML数据
发表评论
-
无法为区域设置“zh_CN”解析资源束“core”
2012-01-18 16:51 2194zh_CN解析资源束ViewerStrings ” ... -
使用FlexComponentKit实现flash和flex完美互通
2012-01-18 15:41 965看了点资料,把flex中使用flash的影片剪辑得方法研 ... -
Flex4.0 SDK,AS3工程,选择性的嵌入字体
2010-04-27 09:21 23551. 嵌入字体 [Embed(source=" ... -
Flex编译参数(2)
2010-04-26 17:02 2144以前想着用Adobe Flex Builder for Lin ... -
Flex编程注意之Flex Complier参数
2010-04-26 16:48 1138在介绍这些参数之前,先要介绍一个工具:mxmlc.exe ... -
flash builder 许可证过期
2010-04-21 14:58 2672在flash builder的安装目录下的plugin文件夹下 ... -
MyEclipse 8.5安装Flash Builder 4 plug-in
2010-04-21 14:29 4373从 http://www.eclipse.org 下载 Ecl ... -
我的FLASH情结2010—— 浅谈FLASH WEB GAME与创业
2010-04-07 18:53 1164声明:本文系转载,对 ... -
Flex值得一看参考资源
2010-04-07 18:47 8281. Flexboxhttp://flex box.mrin ... -
一些Flex开源项目的整理
2010-04-07 18:24 17451、as3ebaylib http://code.goo ... -
Flex加载swf的几个要点
2010-04-07 17:59 1522今天折腾了大半天Flash与Flex3的配合,特总结一下心得体 ... -
Flex元数据标签
2010-04-07 10:58 836元数据标签是一种特殊的标签,它在代码中的作用就是向编译器提 ... -
as3中的元数据标签
2010-04-07 10:44 1167最近开始自己学着写flex组件,于是开始参考flex原有自带的 ... -
flash xmlsocket policy 问题
2010-03-01 10:05 1839Firefox : 1. 只要 conn ...
相关推荐
在Flex与AS3(ActionScript 3)开发中,元数据标签(Metadata Tags)是一种重要的语法结构,用于向编译器提供有关类或成员的额外信息。这些标签能够帮助编译器优化代码、提供更强大的功能,并允许开发者实现自定义...
在本案例中,通过在帝国CMS首页嵌入Flash轮播组件,实现了对多个图片的循环播放,增强了页面的互动性和吸引力。Flash图片轮播技术虽然在现代Web开发中逐渐被HTML5 Canvas和JavaScript库所取代,但在特定场景下仍具有...
在ActionScript3中,可以使用 `[Embed]` 元数据标签将整个SWF文件作为类的一部分嵌入。例如: ```as3 [Embed(source="myResources.swf")] public class EmbeddedSWF { public static var SWF:Class; } ``` ...
在网页中嵌入视频,我们可以使用标签。基础的用法如下: ```html <video src="foo.mp4" width="300" height="200" controls></video> ``` 这里,`src`属性指定了视频文件的URL,`width`和`height`定义了视频播放...
而Divelements.SilverlightTools.XML可能包含了关于这个库的元数据、配置信息或API文档,开发者可以通过它了解如何与DLL文件进行交互,以实现Flash显示文件的功能。 为了在HTML中应用这种嵌入,开发者需要具备以下...
8. **注意事项**:提取的MP3可能包含元数据,如时间戳或作者信息,这些信息可能在反编译过程中丢失。同时,如果SWF文件使用了特殊的压缩算法或编码设置,提取的MP3可能需要额外的处理才能正常播放。 以上就是关于...
- ` Embed`元标签:使用`[Embed]`元标签可以将资源直接嵌入到SWF中,方便快速访问,但会增加SWF文件大小。 - `ResourceModule`:Flex框架提供的模块化资源管理,可以将资源放在单独的模块中,按需加载,降低启动时...
这种文件包含了一个Flash动画或应用程序的所有元数据、图形、脚本和设置。通过打开这个文件,开发者可以查看源代码、动画帧序列以及ActionScript代码,这有助于理解如何动态地获取和展示股票数据。 `Skave_index....
在标签中提到的"the_flash!",这可能是项目名称或者是针对这个Flash网站的特定标识。在过去的Web开发中,Flash被广泛应用于制作动态横幅、游戏、多媒体内容等,因此这个压缩包中的代码可能涉及到这些领域的实现。 ...
在个人网页中,Flash可以用来制作吸引人的开场动画、动态背景或者交互式的按钮。例如,"花之恋"主题中可能有一个关于花朵绽放的Flash动画,随着用户的滚动或点击,呈现出生动的画面。Flash还支持声音、视频和...
这可能包括更改歌曲顺序、添加元数据(如艺术家、专辑名)、调整播放器外观等。 7. **兼容性问题**: 随着时间的发展,Flash逐渐被淘汰,尤其是由于移动设备和现代浏览器的安全与性能考虑。因此,对于新的项目,可能...
在这个Flash相册项目中,XML文件通常用于存储相册的结构、图片路径、描述文字、音乐信息等元数据。 FlashPlay可能是自定义开发的Flash组件,或者是开源的Flash相册播放器,它的主要功能是解析XML文件,根据其中的...
3. `.project`:这是Adobe Flex或Flash Builder项目文件,包含了项目的元数据和构建设置,用于IDE识别和管理项目。 4. `.settings`:可能包含特定于开发环境的配置,例如Eclipse或Flash Builder的项目设置。 5. `...
在标签中,“flash”指的是这个应用的基础技术,“图片浏览”表明其功能是查看和管理图片,“xml”再次强调了数据处理的方式,“炫”则表示这个应用可能包含了许多吸引人的视觉特效。 在“flaspic”这个压缩包中,...
- **说明**:`<dt>` 标签用于在定义列表中表明定义术语。例如: ```html <dt>HTML</dt> <dd>HyperText Markup Language ``` ##### 标签:em - **说明**:`<em>` 标签用于强调文本,通常以斜体渲染。例如: ...
2. FLV文件格式:理解其结构,包括头信息、元数据、音视频数据块等。 3. 视频和音频解码:了解如何使用Flash API进行解码,例如`flash.media.Video`类和`flash.media.Sound`类。 4. Stage和DisplayObject容器:在...
9. `folders.xml`:这是XML文件,很可能存储了多媒体文件的目录结构或元数据,供PHP脚本或Flash组件读取和展示。 综合以上分析,这个项目是一个结合了前端动态展示(Flash)、后端数据处理(PHP)和数据组织(XML)...
6. `flashmo_236_photo_list.xml`:可能是一个XML文件,存储了图片画廊的图片列表和元数据,如图片路径、标题等,方便程序动态加载和显示。 7. `photos`和`org`、`caurina`:这些可能是文件夹,`photos`可能包含实际...
`<embed>`标签用于嵌入多媒体内容,如Flash动画或其他插件内容。 ##### **41. event** **说明:** 代表事件状态,如事件发生的元素,键盘状态,鼠标位置和鼠标按钮状态。`Event`对象用于处理各种类型的用户交互...