您的位置:首页 > 其它

AS3嵌入swf元件库,如何访问指定的资源

2013-05-11 23:07 375 查看
It’s been a long-time without a post. Part of the reason for that has been starting work at a new job (which involves a commute), and part has been that as part of my new job, I was actually encouraged to spend time playing World of Warcraft. To me, that’s
like taking a crowbar to Pandora’s Box and having a peek inside. I learned quite a lot, but have also played just a few too many Warsong Gulches.

Back to work, and I was doing a little prototyping this evening, when I came across a familiar problem: In
AS3
we can use

to embed a symbol from an art
SWF
in what is probably a code-built
SWF
. That’s great, but what if you want to embed an entire
SWF
?

looks like it should do the trick, but you can’t access any of the information within the asset. That’s a real pain, the reason for which is pretty convoluted. I remembered working around this problem in the past, and happily managed to unearth a long-forgotten
treasure in my codebase, which I thought I’d share (having rapidly refactored it to use as3-signals, naturally).

When you embed a SWF in this way then instantiate it, Flash somehow conspires to create a
MovieClipAsset
with a
Loader
inside, which will be ‘loading’ the already-embedded content. The content is not available immediately (it may be sometimes, I have encountered cases where it was not), so you have to wait for an
Event.COMPLETE
to be fired before you can access it. This class exposes a signal that informs you when the content is ready. It could probably be more rigorous, such as including an
isComplete
flag, but it serves my purposes, when used in the following manner:

转自:http://alecmce.com/as3/embed-asset-gotcha
参考:https://github.com/login?return_to=%2Frobertpenner%2Fas3-signals
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: