Flex Builder 3导入Flash CS3资源导致的一些问题

近期的一个FB工程里面需要用到比较复杂的Flash CS3资源(就是MC套子MC,子MC又有很多帧,帧上又有很多MC的那种…)。而且在这些MC中,某些帧上是有代码的。

遇到两个问题:

  1. Flash资源帧上的代码没有执行。
  • gotoAndStop之后无法马上得到目标帧上的元件。

原因与解决:

  1. 对于FB导入Flash资源,我一直使用的是[Embed (source=\”???.swf\”, symbol=\”???\”)]方法。其实这种方法适合导入静态资源(即不包含AS代码的资源),而不适合导入动态资源(包含AS代码)。后来通过使用SWC导入的方法解决了。
  • 帧上的内容不经过渲染是得不到里面的内容的(比如MC),这是Flash Player长久以来的一个问题。一般gotoAndStop之后,经过一次渲染(也就是下一帧的时候)内容才可访问。但经过我的测试,好像也有隔一帧仍然无法访问的情况,还要再隔一帧(共两帧)才行。(另,据说FB4已经解决了此问题。)

参考文章:

关于导入Flash动态和静态资源到Flex

关于Flash Player运行与渲染原理

Leave a Reply

Your email address will not be published. Required fields are marked *