2009-12-04 45 views
0

我试图找出处理使用Flash组件编写多个GUI窗口的最佳方法。我认为处理这个问题的最好方法是为每个需要的窗口使用一个图层,并简单地隐藏/显示我想要的窗口图层。最好不要单独使用动作。在Flash/Actionscript 3中处理多个GUI

由于每个图层都包含这些GUI组件,因此我将处理它们的actionscript代码放在每个图层的第1帧中。这将所有GUI代码保留在一个位置,并避免让我在主阶段类中声明和处理每个组件。

我的问题虽然是一个范围界定问题。主阶段类可以访问驻留在这些层上的类中的所有组件,但框架层“框架1”动作看起来并不像。我希望能够在图层的第1帧动作代码内调用主舞台类的方法。它似乎并没有工作,我甚至尝试将阶段引用投射到我的课程参考中。不知道这是愚蠢的尝试,但只是试图找出一种方法。

如果有人有更好的方法去处理这个问题,请让我知道。我的回退计划是避免拖放组件到舞台上,而是单独使用动作脚本,然后将这些组件组织到它们自己的类中,或者在主舞台上为所有组件使用事件监听器,这会使舞台类膨胀所有那些GUI代码。

谢谢!

回答

0

首先,对于每个窗口使用图层的方法,您会遇到一些麻烦。不幸的是,这些图层只是在Flash创作环境中使用的,代码没有任何方式知道什么是在哪一层,所以你将无法(据我所知)隐藏内容每一层你打算的方式。

几个选择是:

  • 你把每个窗口的组件的影片剪辑中,这样就可以使可见或不可见的是单个影片剪辑,一个希望每个窗口。它或多或少与你想要的图层相同,但是使用包含每个窗口的动画片段。
  • 而不是使用图层,使用框架。将第一个窗口的所有组件放入第一帧,第二帧的组件放入第二帧。这样,您就可以通过移动播放头来控制您所处的窗口。

关于您有的范围错误,您可以提供更多详细信息吗?如果闪存打印有什么错误?

+0

啊,这正是我没有想到的。使用动画片段,并简单地将所有组件拖拽到舞台上并以此方式使用它。完善。这会工作。非常感谢你! – suinswofi 2009-12-04 06:43:58