我在舞台上,矩形和圆几个符号。 symbols on stage 我想进入这个圈子,并使用JSFL在它动画符号。我看到这个链接Accessing child/nested movie clips with JSFL AS3 CS5.5 并基于该我写了这个代码。
fl.outputPanel.clear();
var dom = fl.getDocumentDOM();
var tl = dom.getTimeline();
var curFrame = tl.currentFrame;
var curLayer = tl.findLayerIndex('Layer 2');
tl.setSelectedFrames(curFrame,curFrame);
dom.selection = [tl.layers[curLayer].frames[curFrame]];
//dom.enterEditMode('inPlace');
var tle = dom.timelines[0];
var elm = tle.layers[curLayer].frames[curFrame].elements[0];
var lt = elm.libraryItem;
var ctl = lt.tle;//????
fl.trace(ctl.layers[curLayer].frames[curFrame].elements);
现在,我想我一定是捆绑的东西,因为我得到这个“类型错误:CTL没有属性”。 the error message 请帮助我有关如何实现我想要的建议。预先感谢
答案 0 :(得分:0)
设置var tle=dom.timelines[0];
时,实际上是在说:“从现在开始,让我用tle
代替dom.timelines[0]
。”
因此错误消息告诉您该事物不存在:dom.timelines[0].layers[curLayer].frames[curFrame].elements[0].libraryItem.tle
这是正确的。 libraryItem
是类型为[SymbolItem]的对象,SymbolItems没有名为tle
的子代。尽管他们确实有一个名为timeline
的孩子,但这可能是您想要的。
此外,最后一个trace
语句也不会表示您期望的结果,因为您位于ctl
时间轴而不是tl
时间轴中。为了进行测试,您可能想从fl.trace(ctl.layers[0].frames[0].elements);
参考文件在这里: https://help.adobe.com/archive/en_US/flash/cs5/flash_cs5_extending.pdf