Animate CC - getChildByName canvas vs WebGL
下午。我在舞台上有一个带有单个MovieClip
的FLA - 剪辑在库中名为myThing,并且还具有myThing的实例名称。在另一层我有以下脚本:Animate CC - getChildByName canvas vs WebGL
this.myThing=this.getChildByName("myThing");
console.log(this.myThing);
当我在一个WebGL
项目它作为我期望,并返回一个JS对象,但是当我运行在一个canvas
项目同样的事情(这是运行此我需要使用)它回来null
。
最初,任何人都可以解释一下WebGL和Adobe Animate CC中的画布项目之间的区别,以及如何获取对子剪辑的引用以控制其时间轴?
除此之外,任何人都可以通过脚本撰写这些项目来获得任何体面的资源吗?看起来不管我搜索什么,我总是最终回到那个*!@%@兔子教程,这个教程设法把很少的信息塞进很多很多的单词中。
谢谢大家,你的帮助总是赞赏:)
所以我是一个数字。
name
任何资产的财产默认为null
。这不是问题,因为getChildByName()
方法并不是真的有必要(至少对我来说),一旦我意识到可以致电this.someChild.someMethod()
。
我迷上了错误的方法,因为它是我能找到的唯一例子。与AS3相比,我还是发现文档非常粗略,并没有什么帮助,甚至与其他竞争对手的JS库如Greensock
也不确定为什么我的第一种方法在WebGL中工作,但不是在画布上工作。啊好吧,向上和向上...
WebGL和HTML5 Canvas文档在Animate CC中的工作方式有所不同。 在WebGL的,有实例名称符号访问如下:
var mySymbol = this.getChildByName("instance-name");
在帆布,同样可以做到如下:
var mySymbol = this.instance-name;
命名实例可以同时在画布和WebGL使用this.getChildAt(index)
引用。 一旦获得了所需实例的引用,就可以根据需要轻松控制它。 (gotoAndPlay()/ Stop()等)
PS:在画布中,符号实例名称没有显式设置为输出中相应符号的名称属性 - 因此name属性返回为null。
很确定,在导出到CreateJS时,Animate不会将name属性设置为实例名称。许多人已经要求它,所以也许在http://github.com/CreateJS/EaselJS/issues/上记录一个错误...很高兴你找到了解决方法。 – Lanny