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】:当 Adobe 将所有单帧时间轴从 Container 更改为 MovieClips 时,Animate 出现了一个错误,并且子项无法立即使用。 MovieClips 的子项通过 Tween 时间线添加到时间线中。 应该在构造函数中调用addChild
,但没有。
您可以通过调用 gotoAndStop(0)
然后迭代子级来解决此问题。
this.gotoAndStop(0);
console.log(this.children);
希望能解决您的问题。希望这个问题在下一个 Adobe Animate 版本中得到解决。
【讨论】:
啊哈!谢谢你。以上是关于CreateJS/AnimateCC 遍历库 MovieClip 的子项的主要内容,如果未能解决你的问题,请参考以下文章
Web开发——JavaScript库(jQuery遍历——后代)
xiyueta.js库可以快速解析html字符串,遍历网页dom的JavaScript库