我在AnimateCC中创建了一个MovieClip符号,该符号由其他MovieClip符号组成。我想在运行时迭代父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);
那么有没有办法通过迭代子项而不是硬编码子MovieClips的名称来在运行时动态获取子对象?
答案 0 :(得分:2)
当Adobe将所有单帧时间轴从容器更改为MovieClip时,Animate引入了一个错误,并且子项无法立即使用。 MovieClip的子项通过Tween时间轴添加到时间轴。 应该在构造函数中进行addChild
调用,但是没有。
你可以通过调用gotoAndStop(0)
然后迭代孩子来解决这个问题。
this.gotoAndStop(0);
console.log(this.children);
希望能解决您的问题。希望这可以在下一个Adobe Animate版本中得到解决。