CreateJS/AnimateCC 遍历库 MovieClip 的子项

Posted

技术标签:

【中文标题】CreateJS/AnimateCC 遍历库 MovieClip 的子项【英文标题】:CreateJS/AnimateCC Iterate through children of a library MovieClip 【发布时间】:2016-09-17 01:10:01 【问题描述】:

我在 AnimateCC 中创建了一个 MovieClip Symbol,它由其他 MovieClip Symbols 组成。我想在运行时遍历父 MovieClip 的子元素以修改一些子符号属性。 我认为使用类似的东西会很容易:-

for (var i= 0; i < this.MyThing.getNumChildren(); i++) 
    var child = this.MyThing.getChildAt(i);
    // then amend child properties

但这不起作用。当我查看 js 文件时,似乎将子项添加为实例的属性,例如

this.T1 = new lib.Thing1();

而不是你通常如何添加孩子:-

var PA = new lib.Thing1();
this.ParentThing.addChild(PA);

那么有没有办法在运行时通过迭代子对象而不是硬编码子 MovieClip 的名称来动态获取子对象?

【问题讨论】:

【参考方案1】:

当 Adob​​e 将所有单帧时间轴从 Container 更改为 MovieClips 时,Animate 出现了一个错误,并且子项无法立即使用。 MovieClips 的子项通过 Tween 时间线添加到时间线中。 应该在构造函数中调用addChild,但没有。

您可以通过调用 gotoAndStop(0) 然后迭代子级来解决此问题。

this.gotoAndStop(0);
console.log(this.children);

希望能解决您的问题。希望这个问题在下一个 Adob​​e Animate 版本中得到解决。

【讨论】:

啊哈!谢谢你。

以上是关于CreateJS/AnimateCC 遍历库 MovieClip 的子项的主要内容,如果未能解决你的问题,请参考以下文章

二叉树前序中序后序遍历(非递归统一解法)

遍历嵌套字典以创建数据框并添加新的列值

Web开发——JavaScript库(jQuery遍历——后代)

xiyueta.js库可以快速解析html字符串,遍历网页dom的JavaScript库

Web开发——JavaScript库(jQuery遍历——同胞)

Web开发——JavaScript库(jQuery遍历)