as3.0 使用【Embed】标签插入外部资源.doc_第1页
as3.0 使用【Embed】标签插入外部资源.doc_第2页
as3.0 使用【Embed】标签插入外部资源.doc_第3页
as3.0 使用【Embed】标签插入外部资源.doc_第4页
as3.0 使用【Embed】标签插入外部资源.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

as3.0 使用【Embed】标签插入外部资源 嵌入GIF,PNG,JPEG,MP3文件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目录中)。Embed元数据标签带有两个属性: Source:(必选的)使用这个属性来确认嵌入资源的名称和路径。如果你嵌入了一个元件,你可以用元件的关键词确定元件认嵌入到SWF中的名字。 mimeType:(可选的)使用这个属性来确定嵌入资源的MIME类型。如果这个属性没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型。Flash CS4专业版支持与Flex一样的一系列MIME类型 在帧脚本中使用Embed标签同前面列出的过程一样,元数据也可以应用到帧脚本。在这段中,我会描述怎么利用Embed标签来嵌入元数据到帧脚本中。如果你跟着示例文件,请参阅目录下的文件: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文件中嵌入一个元件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文件中嵌入的。 使用Embed标签嵌入字体除了嵌入图片文件,SWFs,还有SWFs中的元件以外,Embed元数据标签还可以嵌入OpenType和TrueType字体到Flash文件中。在这个段落中,我将演示怎么使用Embed元数据标签在Flash CS4中嵌入字体。这篇文章将定你已经安装了Arial Bold字体在你的系统中。如果你没有这个字体,你可以从 SearchFreeF或者类似网站上购买它。注意: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)。 使用嵌入的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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论