访问Flash文件中的嵌套动画片段

时间:2011-12-12 16:52:35

标签: flash actionscript-3 actionscript

我在Flash Builder 4中创建了一个应用程序,用于加载Flash文件的SWF,我想访问这些Flash文件中的影片剪辑。我可以使用以下方式访问顶级电影剪辑:

var assetName:String = "example_mc";
this._graphics[assetName].addChild(this._customText);

但是,当我想访问嵌套的影片剪辑时,我没有成功,我尝试过:

var assetName:String = "example_mc";
var assetName2:String = "example2_mc";
this._graphics[assetName][assetName2].addChild(this._customText);

我尝试过:

MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName)).getChildByName(assetName2)).addChild(this._customText);

此外,我尝试了方括号和“getChildByName”的变体,但仍未成功。

所有moviclips都在Flash文件的第1帧中实例化,有什么想法吗?

  • 编辑**
    我忘了调整我的错误处理,所以会显示错误,加上我没有显示文本的所有测试,周一下午晚些时候不是我最亮的时刻! ;)我最终解决了,解决方案是(如上所述):

    MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName)).getChildByName(assetName2)).addChild(this._customText);
    

或者:

    MovieClip(DisplayObjectContainer(this._graphics.getChildByName(assetName))[assetName2]).addChild(this._customText);

希望这可以帮助其他人。

由于

克里斯

1 个答案:

答案 0 :(得分:0)

通过侦听Event.COMPLETE或Event.INIT事件,确保在尝试访问子影片剪辑之前加载并初始化了Flash文件。

实施例:     myLoader.contentLoaderInfo.addEventListener(Event.INIT,onComplete);

只需输入即可轻松引用所有内容     this._graphics.example_mc.example2_mc.addChild(this._customText);