2

好的,

这听起来很复杂,但事实并非如此。这里是:我想使用我在 flex actionscript 项目中在 flash 中创建的一些资产(按钮等)。由于我所有的资产都低于 10K,我不打算加载 swf,等到它加载并创建界面。我想使用一个 swc 并且只是实例化我需要的剪辑。另外,我希望我的 Button 类有一些额外的属性,这就是问题发生的地方。

如果在 Flash IDE 的链接属性中添加对自定义按钮类的引用并跟踪 Button MovieClip 的子项,我会得到正确的跟踪。如果然后我在 Flex 的 Main 类中创建一个 Button,使用生成的 swc 文件并跟踪 Button MovieClip 的同一个子项,我得到 null。

这是为什么 ?有没有办法解决这个问题?我考虑过使用 Flex Component Kit,但由于我正在处理一个简单的 actionscript 项目并且我没有使用 Flex 框架,所以我认为此时使用 Component Kit 没有任何意义。

谢谢!

4

2 回答 2

3

我想我明白了。

我的 Button MovieClip 链接到与 Flex actionscript 项目中的其余 actionscript 代码相同的 src 文件夹中的类。(as3 类路径设置为“../”,从 .fla 文件所在的 assets 文件夹,到 src 一级)

当 Flash 编译时,找到了类,我进入了 .swc 文件。这就是为什么我从 flash 中找到符号的原因。Flex 编译时,在 src 目录中找到了该类,因此编译了同一类的新版本,尽管它已经存在于 swc 文件中。由于 flex 找到了 .as 文件,但不知道我将它链接到 Flash IDE 中的符号(我认为它不能这样做),Flex 创建了它的类版本,但由于没有链接符号到那个班级,我正在追踪的 Button 的孩子为空。

我猜想使用包并将 fla 链接的类分开,这样 Flex 就不会编译同一个类两次。

奇怪的是我没有收到任何警告或错误,所以我认为一切都很好。

一个快速且不太脏的解决方法是从文件系统中删除物理 Button 类,以便 Flash 可以在编译时生成它的版本并引用 Button 符号的子代。然后在 Flex 中,我创建了一个扩展 Button 的类并添加了我需要的代码。由于生成的类是在 .swc 文件中编译的,因此 Flex 可以看到这一点,并且我在扩展时也没有问题。

就是这样!鲍勃你是叔叔!

我假设会发生什么,我不能 100% 确定。这是我的直觉通过观察认为理所当然的事情,所以我可能在技术上是错误的。如果有人有任何更正,他们是受欢迎的。

于 2009-06-18T09:17:33.913 回答
2

我不确定我是否正确阅读了您的问题,但您是否真的想要嵌入从一开始就可用的图像/资产,一旦应用程序启动就加载图像/资产?

如果是这种情况,请查看此链接。它解释了如何将任何资产嵌入到 actionscript 项目中。http://kennethsutherland.com/2009/04/21/why-flex-why-actionscript-why-flash/

希望这是你的追求。

于 2009-06-17T08:17:28.260 回答