Flash 使用JSFL AS3 CS5.5访问子/嵌套电影剪辑
如何在jsfl中访问电影剪辑的子级(特别是子级电影剪辑)? 我已经在实例级别从 flash.documents[0]。时间线[0]。图层[0]。框架[0]。元素[0]。实例 我已经找到了,但其他的不多。Flash 使用JSFL AS3 CS5.5访问子/嵌套电影剪辑,flash,actionscript-3,flash-cs5,jsfl,flash-cs5.5,Flash,Actionscript 3,Flash Cs5,Jsfl,Flash Cs5.5,如何在jsfl中访问电影剪辑的子级(特别是子级电影剪辑)? 我已经在实例级别从 flash.documents[0]。时间线[0]。图层[0]。框架[0]。元素[0]。实例 我已经找到了,但其他的不多。 提前谢谢 在JSFL中需要记住的是,stage上的元素也是库中的项目,因此不管嵌套多少次,它仍然是库中的一个片段,通常这是您希望从中工作的内容 在您的情况下,它将是: // break up your previous path to illustrate the "timeline" poin
提前谢谢 在JSFL中需要记住的是,stage上的元素也是库中的项目,因此不管嵌套多少次,它仍然是库中的一个片段,通常这是您希望从中工作的内容 在您的情况下,它将是:
// break up your previous path to illustrate the "timeline" point
var timeline = flash.documents[0].timelines[0];
// grab the element
var element = timeline.layers[0].frames[0].elements[0];
// get its associated library item (same instance, just a Library Item, not a stage Element)
var item = element.libraryItem;
// then grab the library item's "timeline" property
var childTimeline = item.timeline
// and you can now access any "nested" elements on it
trace(childTimeline.layers[0].frames[0].elements)
一开始,这似乎与直觉相反,但你很快就会习惯。考虑这一点最简单的方法是,基本上所有元素都是“顶级”的,因为它们都位于库中
另外,fl.getDocumentDOM().getTimeline()是获取当前文档和时间线的常用方法。nice技巧。最后一行应该是fl.trace吗?如果您将其别名为trace=fl.trace,或者您使用的是xJSFL,那么就不是了,谢谢。我完全搞不懂为什么在舞台上循环浏览选定项目时无法获得
选择[I].timeline
,但我可以获得库.items[I].timeline
。使用选择[i].libraryItem
正是我所需要的。@indextwo-Blimey!这篇文章已经有8年历史了。人们还在使用JSFL吗?@DaveStewart事实上,我昨天试着安装它!我对jQuery的熟悉程度远远超过JSFL的实际情况(不完全是JS,也不完全是AS,也不完全是两者兼而有之),但它抛出了一个关于其他命令修改某些内容的错误(这是在CS6中)。我找不到它突出显示的代码,所以我留下了它。然而,据我所知,JSFL仍然可以在AdobeAnimate(!)中工作,所以它很值得保留!