Flex Builder 3导入Flash CS3资源导致的一些问题
近期的一个FB工程里面需要用到比较复杂的Flash CS3资源(就是MC套子MC,子MC又有很多帧,帧上又有很多MC的那种…)。而且在这些MC中,某些帧上是有代码的。
遇到两个问题:
- Flash资源帧上的代码没有执行。
- gotoAndStop之后无法马上得到目标帧上的元件。
原因与解决:
- 对于FB导入Flash资源,我一直使用的是[Embed (source="???.swf", symbol="???")]方法。其实这种方法适合导入静态资源(即不包含AS代码的资源),而不适合导入动态资源(包含AS代码)。后来通过使用SWC导入的方法解决了。
- 帧上的内容不经过渲染是得不到里面的内容的(比如MC),这是Flash Player长久以来的一个问题。一般gotoAndStop之后,经过一次渲染(也就是下一帧的时候)内容才可访问。但经过我的测试,好像也有隔一帧仍然无法访问的情况,还要再隔一帧(共两帧)才行。(另,据说FB4已经解决了此问题。)
参考文章:
关于导入Flash动态和静态资源到Flex
- http://sujitreddyg.wordpress.com/2008/01/02/creating-and-importing-flash-assets-into-flex/
- http://blogs.adobe.com/flexdoc/pdf/swf9.pdf
- http://www.bit-101.com/blog/?p=853
关于Flash Player运行与渲染原理
发表评论
| Trackback
