【问题标题】:Dealing with multiple GUIs in Flash/Actionscript 3在 Flash/Actionscript 3 中处理多个 GUI
【发布时间】:2010-12-23 03:16:39
【问题描述】:

我正在尝试找出处理使用 Flash 组件编写多个 GUI 窗口的最佳方法。我认为处理这个问题的最好方法是为我想要的每个窗口使用一个层,然后简单地隐藏/显示我想要的窗口层。最好不要单独使用 actionscript。

由于每一层都包含这些 GUI 组件,因此我将处理它们的动作脚本代码放置在每一层的第 1 帧中。这将所有 GUI 代码保存在一个地方,避免我在主舞台类中声明和处理每个组件。

我的问题是范围问题。主舞台类可以访问其类中驻留在这些层上的所有组件,但框架层“frame 1”actionscript 似乎没有。我希望能够从图层上的第 1 帧动作脚本代码中调用主舞台类上的方法。它似乎不起作用,我什至尝试将舞台参考投射到我的班级参考。不确定这是否是愚蠢的尝试,但只是想找出一种方法。

如果有人有更好的方法来处理这个问题,请告诉我。我的后备计划是避免在舞台上拖放组件,而是单独使用 actionscript,然后将这些组件组织到自己的类中,或者在主舞台上为所有组件使用事件侦听器,这会使舞台类膨胀所有的 GUI 代码。

谢谢!

【问题讨论】:

    标签: flash user-interface actionscript


    【解决方案1】:

    首先,您在为每个窗口使用图层的方法上会遇到一些问题。可悲的是,这些图层仅在 Flash 创作环境中使用,代码无法知道哪个图层中的内容,因此您将无法(据我所知)隐藏每一层都按照您的意图进行。

    有两种选择:

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

    关于您遇到的范围错误,您能否提供更多详细信息?如果闪打印会出现什么错误?

    【讨论】:

    • 啊,这正是我没有想到的。使用影片剪辑,只需将所有组件放入其中,然后将其拖到舞台上并以这种方式使用它。完美的。那会奏效的。非常感谢!
    猜你喜欢
    • 2012-04-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    • 2011-12-05
    • 2011-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多