[Embed(source="asset.swf")] 使用其中的所有资源
在AS3中,我们可以使用
[Embed(source="asset.swf", symbol="symbol")]
private var symbolClass:Class; var symbol:MovieClip = new symbolClass();
从艺术中嵌入一个符号的SWF在什么可能是一个代码构建的SWF。这是伟大的,但如果你要嵌入整个SWF?
[Embed(source="asset.swf")]
private var assetClass:Class; var asset:MovieClip = new assetClass();
看起来像它应该做的伎俩,但你不能在资产中获得的任何信息。这是一个真正的痛苦,因为这是非常令人费解的原因。我想起了解决这个问题,在过去的工作,并愉快地设法挖掘一个长期被遗忘的宝藏在我的代码库,我想我会分享(已经迅速重构它以使用AS3-信号,自然)。
package com.alecmce.util
{
import org.osflash.signals.Signal; import mx.core.MovieClipAsset; import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.display.MovieClip;
import flash.events.Event; public class UnpackEmbed
{
private var _ready:Signal; private var _asset:MovieClipAsset;
private var _content:MovieClip; public function UnpackEmbed(assetClass:Class)
{
_asset = new assetClass();
_ready = new Signal(UnpackEmbed); var loader:Loader = Loader(_asset.getChildAt(0));
var info:LoaderInfo = loader.contentLoaderInfo;
info.addEventListener(Event.COMPLETE, onLoadComplete);
} private function onLoadComplete(event:Event):void
{
var info:LoaderInfo = LoaderInfo(event.target);
info.removeEventListener(Event.COMPLETE, onLoadComplete); _content = MovieClip(info.loader.content);
_ready.dispatch(this);
} public function get content():MovieClip
{
return _content;
} public function get ready():Signal
{
return _ready;
} public function get asset():MovieClipAsset
{
return _asset;
}
}
}
当您嵌入的SWF以这种方式,然后实例化它,闪存莫名其妙密谋建立一个MovieClipAsset用装载机内,这将是'加载'已嵌入的内容。内容不是立即可用(也可能是有时候,我也遇到过的情况下它不是),所以你必须等待Event.COMPLETE被解雇之前,您可以访问它。此类公开,通知您当内容准备就绪的信号。它可能可以更严格,例如,包括在isComplete标志,但它提供我的目的,以下面的方式使用时:
[Embed(source="asset.swf")]
private var assetClass:Class; asset = new UnpackEmbed(assetClass);
asset.ready.addOnce(onAssetReady); private function onAssetReady(asset:UnpackEmbed):void
{
// now we can access the asset.content!
}
[Embed(source="asset.swf")] 使用其中的所有资源的更多相关文章
- [Flash&Flex] AS3.0 如何利用[Embed(source="...")]嵌入资源
在flex和flashIDE中我们可以[Embed(source="...")]嵌入图片和swf等资源,但两者之间的嵌入方式又有所区别. flex示例: [Embed(source ...
- HTML5 source标签:媒介元素定义媒介资源
HTML5 source标签是一种媒介元素(比如 <video> 和 <audio>)来定义媒介资源.<source> 标签允许您规定可替换的视频/音频文件供浏览器 ...
- 使用air进行移动app开发常见功能和问题(一)
1. 获取最近联系人 思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人. update时间在2种情 ...
- 使用AIR进行移动APP开发常见功能和问题(上)
1. 获取最近联系人 思路:侦听Geolocation的update事件,获取经度和纬度信息,再把坐标信息上传至服务器,服务器比较坐标信息算出距离,返回最近位置的若干个人. update时间在2种情 ...
- (转)AS3-元数据Embed嵌入说明
转自:http://www.shareme.cn/blog/article.asp?id=498 /* * 没有设置,Flash会在源属性中根据导入资源文件的扩展名载入合适的类型 * ...
- as3.0 [Embed]标签嵌入外部资源
1.[Embed]嵌入资源 ActionScript代码的顺序非常重要.你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class; package { import flash ...
- as3中的embed
actionscript3允许把外部swf直接用Embed标记嵌入到主类中(当然用UrlLoader动态加载也行) 原 作者:菩提树下的杨过出处:http://yjmyzz.cnblogs.com 关 ...
- AS3条件编译
package { import flash.display.Sprite; public class Main extends Sprite { public function Main() { s ...
- 结合JSFL/actionscript 实现轮廓动画
动画前半段通过JSFL获取轮廓数据,并在EnterFrame中逐个边缘画出的:后半段机枪动画是美术做好的flash动画. 这里只放出actionscript代码,而JSFL代码涉及到一个工程,暂时保密 ...
随机推荐
- quartz Cron表达式一分钟教程
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.CronTr ...
- 陈正冲老师讲c语言void关键字
1. void a void的字面意思是“空类型”,void *则为“空类型指针”,void *可以指向任何类型的数据. void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量 ...
- 怎么学数学[How to Study Math]
- codeforces 401D (数位DP)
思路:很明显的数位dp,设dp[i][j] 表示选取数字的状态为i,模m等于j的数的个数,那么最后的答案就是dp[(1<<n)-1][0].状态转移方程就是,dp[i|(1<< ...
- Web网站常规测试方法
功能测试 1. 安装测试: 安装过程中对于缺省安装目录及任意指定的安装目录,是否都能正确安装: 若是选择安装,查看能否实现其相应的功能: 在所有能中途退出安装的位置退出安装程序后,验证此程序并未安装成 ...
- DNS(一)简介
最近学习相关DNS知识,顺便总结下相关内容. 1.什么是DNS DNS(Domain Name System)服务,可以使用域名代替复杂的IP地址来访问网络服务器,使得网络服务的访问更加简单,而且可以 ...
- 设计模式_C++源码+总结
C++源码下载: http://yunpan.cn/Q7fadjGgEJxib 提取码 63cb 总结:
- 【原】Storm 守护线程容错机制
Storm入门教程 1. Storm基础 Storm Storm主要特点 Storm基本概念 Storm调度器 Storm配置 Guaranteeing Message Processing(消息处理 ...
- Navicat通过云主机内网连接阿里云RDS
背景 公司为了安全起见,RDS设置只允许阿里云主机的内网端可以访问.这就意味,如果要操作RDS就需要连接到云主机上之后通过mysql shell操作.操作起来很复杂麻烦,今天看同事用Navicat f ...
- eclipse配置struts.xml自动提示
a)window – preferences – xml - xml catalog –> add b)选择key type为URI c)key: http://struts.apache.o ...