我正在开发一个非常图形化的应用程序,它使用来自一堆不同 FLA 的内容。不过,我是一名编码员,所以我想在 Flash Builder 中完成所有编码,但是我想让我的设计师仍然使用一些时间线操作,例如 stop(); 甚至一些简单的按钮处理程序来更改视图。我一直在尝试为这种设置找到最佳工作流程;我尝试过使用 Embed,但这会剥离时间线代码,我尝试过 Loader,但它没有给我任何代码完成或编译时检查,我目前正在使用 SWC 和自定义类来子类化里面的元素SWC,这似乎是迄今为止最好的组合 - 您可以完成代码并且时间线脚本仍然可以工作。我遇到的问题是我在 Flash 中有一个相当复杂的视图,而且我
例如,假设我有一个 FLA,库中有一个名为 View 的符号。我给它一个“com.company.view.design.ViewDesign”的链接类。此视图内有 3 个帧,每个帧上都有一个不同的符号,称为“content1”、“content2”和“content3”。我给这些类似的链接类“com.company.view.design.Content1”等。在我的主代码库中,我有一个名为 com.company.view.View 的类,它扩展了 com.company.view.design.ViewDesign。这让我可以完全访问 View 符号中的所有内容,这很棒,而且 View 中的所有时间线脚本仍然有效。
问题是 - 这 3 个内容符号非常复杂,并且是链接到他们自己的外部类(com.company.view.Content1 等)的主要候选者,但如果我尝试在 Flash 中这样做,当我实例化 com .company.view.View 我收到错误“类型强制失败:无法将 flash.display::MovieClip@20bec5e1 转换为 com.company.view.Content1”。
那么是否有任何解决方案,或者我只需要将我的 SWC 更多地视为一个库并以编程方式构建视图,对内容窗格使用与视图相同的继承模式?我希望我的设计师能够处理尽可能多的布局,但是随着越来越复杂的视图,我不想将单个视图的所有功能放入一个整体类(com.company .view.View)。