这是一个架构问题,我希望解决一些正在出现的大问题UI问题。
背景:我正在构建Flash中的游戏内UI(使用Flash CC)以与Scaleform一起使用。我介于两者之间,知识渊博;可能足够后者是危险的。
我目前的架构是:
这里的目的是允许在每个组件文件中存储多种类型的组件,HUD选择使用哪种组件并“组装”HUD。艺术家可以在组件和资产文件中工作,而无需触及较大的HUD文件,并且不得不在代码中捣乱。
最初,我尝试将所有资产存储在主要父级中,但Flash对于管理多个布局的导入符号来说有点痛苦。我最终会遇到重复的字体,破坏的链接等等。
接下来,我尝试使用纯AS创建实例,即导入的AS文件中的“component = new component()”,但看起来我遇到了在Flash IDE中创建的布局问题(并不是专门在AS中完成的) )父母无法访问。 (我假设这是一个问题;我可能会误读一些在本网站和其他网站上遇到过类似问题的人。)
现在,我决定加载SWF文件应该解决这个问题,但是我在这些加载的SWF文件中遇到了一些“TypeError:Error#1009”;特别是一个由另一个Scaleform组件(ButtonBar)引用的按钮(AnimatedToggleButton)。它和ButtonBar都从共享资源导入到HUD组件,但AnimatedToggleButton在其他任何地方都未使用。它正确地导出和导入,并且在组件SWF中编译时起作用,但是当加载SWF时,它在父级中作为缺少的类/ null出现。我尝试了所有常用的技巧,等待舞台等等。
对于这种事情,这是正确的架构吗?如果是的话,导入符号的处理是什么?除非使用它们,否则它们不存在?
答案 0 :(得分:0)
您是否在符号属性中选中了“在第1帧中导出”?
如果没有,那么是的,只有舞台上出现的符号才会被导出并可供父SWF访问。