由于iOS项目的复杂动画,我不得不使用Flash CS5.5 IDE,但我正在尝试使用Flash Builder 4.5.1来编写库movieClips。在大多数情况下,这是有效的;我正在库中制作movieClip,给他们提供类名,然后在FB 4.5中编辑。我的理由是对iOS来说无论如何都必须是一个大屁股文件。我真的不想把所有东西都变成swc并嵌入Flash Builder中,只想制作movieClip并在FB中编辑它们的代码。
但是,说我在Flash IDE中制作了一个球。在库中,我给它一个名为'Ball'的类,它扩展了MovieClip。当我回到主类中的Flash Builder时,我使用
var _ball:Ball = new Ball();
addChild (_ball)
代码有效,球从图书馆放到舞台上,但是有“?” Ball实例化旁边提示无法找到类型或者不是编译时常量。我真的不想为Ball制作一个自定义类 - 虽然我很确定如果我做了并导入了一个自定义Ball类它会找到它和'?'会消失,但是没有办法强制Flash Builder“看到”Flash IDE库对象/类吗?
非常感谢!
答案 0 :(得分:1)
在Flash Professional中,AS Linkage应与类名匹配。您可以右键单击库和“编辑类”,然后选择Flash Builder来编辑类。
测试AS链接以确保您的类包正确地从Flash Professional引用到您的代码。
在Flash Professional中构建的视图将实例化并添加子项。如果将“Ball”影片剪辑从库拖到画板,则在运行时将“Ball”类实例化并添加到舞台。
如果符号不需要编程实现,则无需创建类。
根据大小,符号的类定义没有魔力 - Flash Pro会自动为您创建类。当编译器引用类时,您不会知道它的名称或它是如何定义的。
可以改进此问题,以便更好地了解您遇到的目标或具体问题。
如果您希望在Flash Builder中进行编码,而不是使用Flash Pro设计和布局视图,并从Flash Pro导出SWC。在Flash Builder中,使用[Embed]元标记来引用符号。
如果您希望在Flash Pro中进行编码,则在编辑代码时仍可以使用Flash Builder。
“?”并不意味着有错误。这是一个警告。您可能会从默认包中看到它 - 像int,string,Number,MovieClip这样的东西可能会显示“?”在行号左侧,因为Flash Pro中的playerglobal.swc需要在Flash Builder的.actionScriptProperties中得到纠正。
Flash Pro的编译器应解析这些引用并构建您的SWF;但是,在没有代码完成的情况下,在Flash Builder中进行编辑可能会很乏味,或者只是看到这么多“?”按行号。
我建议:
如果你看到“?”从默认包类中,通过替换playerglobal.swc来更新.actionScriptProperties:
< libraryPathEntry kind =“3”linkType =“1”path =“$ {FLASHPRO_APPCONFIG} / ActionScript 3.0 / FP10.2 / playerglobal.swc”useDefaultLinkType =“false”/>
如果您的符号没有AS链接,则无法使用ActionScript引用它,除非您可以确保通过基类(例如将对象调用为MovieClip)进行访问。不建议这样做。
答案 1 :(得分:1)
您在问题中描述的工作流程一直困扰着我。设置一个资产的链接文件似乎与我的联系很多 - 最后这只是一堆资产 - 我为什么要将它们与一些固定的行为结合起来呢?按钮的资产也应该足够用于切换按钮。将它与Button类耦合,然后您需要复制资产并将其链接到ToggleButton。有些人可能认为应该只有一个带有toggable-property的Button类。不过,我想你们都明白了。这就是为什么我会深入研究Flex 4以及整个设计师与开发人员的合同以及使用组件和皮肤的非常分离的方式。
有一种方法可以在Flash中使用此方法,而无需在FLA中设置任何链接。事实上,我正在使用已编译的SWF作为皮肤的资产库。我开发了一个组件模型,其灵感来自Gumbo早期版本和OpenFlux框架,并在Flash中应用了类似的原则。如果您对详细信息感兴趣,可以阅读introduction article in my blog about the FLit framework。 whole code + examples are available at Google Code。{{3}}。