[Flash&Flex] AS3.0 如何利用[Embed(source="...")]嵌入资源
2016-01-07 12:58
513 查看
在flex和flashIDE中我们可以[Embed(source="...")]嵌入图片和swf等资源,但两者之间的嵌入方式又有所区别。
flex示例:
flash示例:
"../" 表示从发布目录的上级目录开始查找,如果资源在发布目录的同级目录则不需要此字符串。
注意二者的区别,另外在flash IDE中还必须要设置flex SDK才能用,因为[Embed(source="...")]方法本身属于Flex SDK的功能。
另外附上嵌入其他类型数据的方法:
嵌入XML:
当嵌入XML数据时,你必须将mimeType参数设置为"application/octet-stream"。 Flash不能通过XML文件的扩展名检测正确的MIME类型,所以无论什么时候你嵌入XML数据时都要设置mimeType参数。
嵌入字体:
当嵌入字体数据时,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'的字体没有被找到在...)
嵌入swf:
嵌入元件:
如果没有symbol参数,那么source参数指定将被嵌入的SWF文件的名称和路径。如果存在symbol参数,那么symbol指定source参数关联的SWF文件中元件的名称,并嵌入这个元件,而非这个SWF,symbol参数必须是SWF中链接的类名。
flex示例:
[Embed(source="../assets/images/embed/bg_top_v.png")] public var bg_top_v:Class;
flash示例:
[Embed(source="/../assets/images/embed/bg_top_v.png")] public var bg_top_v:Class;
"../" 表示从发布目录的上级目录开始查找,如果资源在发布目录的同级目录则不需要此字符串。
注意二者的区别,另外在flash IDE中还必须要设置flex SDK才能用,因为[Embed(source="...")]方法本身属于Flex SDK的功能。
另外附上嵌入其他类型数据的方法:
嵌入XML:
[Embed(source = "/../assets/app/weather/config/city.xml", mimeType = "application/octet-stream")] public var xml:Class;
当嵌入XML数据时,你必须将mimeType参数设置为"application/octet-stream"。 Flash不能通过XML文件的扩展名检测正确的MIME类型,所以无论什么时候你嵌入XML数据时都要设置mimeType参数。
嵌入字体:
[Embed(source="Arial Bold.ttf", fontName="myFont", fontWeight="bold", advancedAntiAliasing="true", mimeType="application/x-font")] public var font:Class;
当嵌入字体数据时,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'的字体没有被找到在...)
嵌入swf:
[Embed(source = "/../assets/app/weather/images/embed/test.swf")] public var swf:Class;
嵌入元件:
[Embed(source = "/../assets/app/weather/images/embed/test.swf",symbol="com.symbol.UpButton")] public var symbol:Class;
如果没有symbol参数,那么source参数指定将被嵌入的SWF文件的名称和路径。如果存在symbol参数,那么symbol指定source参数关联的SWF文件中元件的名称,并嵌入这个元件,而非这个SWF,symbol参数必须是SWF中链接的类名。
相关文章推荐
- group by与having
- sprintf()函数的用法总结
- 剑指offer-数值的整数次方
- 如何实现一个搜索引擎(3):tf-idf权重 How to Implement a Search Engine Part 3: Ranking tf-idf
- python logging 单例模式范例
- Kafka学习之一 Kafka是什么,主要应用在什么场景?
- mysql的默认排序
- RabbitMQ基础知识
- Canvas的drawTextOnPath参数含义
- 【C++】:用sort对string类型进行排序
- ss
- apache服务器
- Android——ViewHolder简洁写法
- objective-c -- nil / Nil / NULL / NSNull
- 第1章第1节练习题4 有序表删除指定区间值
- uwsgi启动
- 设计模式学习笔记c++版——单例模式
- POJ 1006_Biorhythms
- 如何实现一个搜索引擎(2):查询索引 How to Implement a Search Engine Part 2: Query Index
- keepalived应用