我试图了解我从 Flash CS4 导入 Flex Builder 3 的 SWC 中发生了什么。具体来说,我使用由 Designer 提供的 SWC 作为自定义预加载器(子类 DownloadProgressBar)的动画。
我想了解的问题是,一旦触发了 FlexEvent.INIT_COMPLETE,我通过运行以下命令删除 swc 进行清理:
removeChild(myPreloader);
myPreloader = null;
尽管即使在我删除了它之后(这是成功的,因为我通过比较 this.numChildren 在调用前后进行了检查),关键帧动画仍然继续运行(不可见)。设计师在动画的时间线中放置了一条轨迹(在 Flash 中),已检测到这一点。
谁能告诉我为什么,即使我从子类 DownloadProgressBar 中删除了动画,它仍然继续运行?
此外,在导入 SWC 以管理来自 Flash 方面的资源清理(很像在 obj-c 中释放内存)时,这是标准做法吗?我发现从 Flex 端移除子元素并不会停止动画,这很不直观。
对此的任何线索将不胜感激。