flash - AS3 嵌入访问子影片剪辑

标签 flash apache-flex actionscript-3

所以我使用此代码来嵌入我的 .swf 文件。我正在为我的库中的每个 Assets 创建类。

[Embed('assets/assets.swf', symbol='game.menu.levels')]
public static const LEVELS_MENU:Class;

它工作得很好,但是我如何访问多个深度的子元素?

到目前为止我有这个:

this.object = new R.LEVELS_MENU();
var child_element:MovieClip = 
    this.object.getChildByName("child_element") as MovieClip;

还有比这样做更好的方法吗:

var child_child_element:DisplayObjectContainer = 
        DisplayObjectContainer(
                child_element.getChildByName("child_child_element")
        );
var child_child_child_element:DisplayObjectContainer = 
        DisplayObjectContainer(
                child_child_element.getChildByName("child_child_child_element")
        );

有没有办法可以用点语法来做到这一点:

child_element.child_child_element.child_child_child_element...

最佳答案

据我所知,还没有。

可能有一个解决方法。

如果您从 Flash IDE 创建了这些子项,您应该能够通过如下引用直接访问它们:

MovieClip(this.object).child1.child2.child3.child4;

或者,如果您在 swf 中手动执行 MovieClip 初始化(新操作符),您也可以像这样手动创建这些引用:

child["child_child_name"] = child_child;

虽然这对于影片剪辑来说并不重要,因为它们是动态的,所以你可以这样做:

child.child_child_name = child_child;

最后两个当然是在 .swf 代码中;

关于flash - AS3 嵌入访问子影片剪辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7376065/

相关文章:

javascript - Google Swiffy iPad 按钮双击问题

javascript - 自定义 slider AS3 声音搜索

apache-flex - 弹性 : how to reduce spacing between components

Java - 语句/转换| PuLP 芯

javascript - 将变量从 ExternalInterface.call() 返回到 Flash

apache-flex - 如何禁止Flash迁移警告(1090)

javascript - 使用 HTML/CSS 时 Flash 横幅不可用时的替代图像?

javascript - 闪存/AS3 : ExternalInterface. 调用() "Why u no console.log?"

apache-flex - 使用 BlazeDS 将 Flex 应用程序连接到 Tomcat + Spring 3.0 Framework

apache-flex - Linux 上 Flex 单元的设置