Javascript 动画CC-getChildByName画布vs WebGL
下午好。我有一个FLA,在舞台上有一个Javascript 动画CC-getChildByName画布vs WebGL,javascript,flash,adobe,createjs,Javascript,Flash,Adobe,Createjs,下午好。我有一个FLA,在舞台上有一个MovieClip——剪辑在库中被命名为myThing,还有一个实例名myThing。在另一层上,我有以下脚本: this.myThing=this.getChildByName("myThing"); console.log(this.myThing); 当我在WebGL项目中运行它时,它会像我预期的那样工作并返回一个JS对象,但当我在画布项目中运行相同的东西时(这是我需要使用的),它会返回null 最初,有人能解释一下Adobe Animate CC中
MovieClip
——剪辑在库中被命名为myThing,还有一个实例名myThing。在另一层上,我有以下脚本:
this.myThing=this.getChildByName("myThing");
console.log(this.myThing);
当我在WebGL
项目中运行它时,它会像我预期的那样工作并返回一个JS对象,但当我在画布
项目中运行相同的东西时(这是我需要使用的),它会返回null
最初,有人能解释一下Adobe Animate CC中WebGL和画布项目之间的区别,以及我如何获得对子剪辑的引用以控制它们的时间线吗
除此之外,有人能给我指出一些关于编写这些项目脚本的合理资源吗?似乎无论我搜索什么,我总是回到那个*!@%·兔子教程,设法将很少的信息塞进大量的单词中
谢谢大家,我一直很感激你们的帮助:)所以我是一个裸体者 任何资产的
name
属性默认为null
。这不是问题,因为一旦我意识到您可以调用This.someChild.someMethod()
,就不需要使用getChildByName()
方法(至少对我来说)
我被错误的方法迷住了,因为这是我唯一能找到的例子。我仍然发现文档非常粗略,与AS3或类似的竞争性JS库相比并没有多大帮助
也不确定为什么我的第一种方法在WebGL中有效,而不是在canvas中。啊,好吧,向前和向上…WebGL和HTML5画布文档在Animate CC中的工作方式有些不同。 在WebGL中,具有实例名称的符号可按如下方式访问:
var mySymbol = this.getChildByName("instance-name");
var mySymbol = this.instance-name;
在Canvas中,可以按如下方式执行相同操作:
var mySymbol = this.getChildByName("instance-name");
var mySymbol = this.instance-name;
可以在画布和WebGL中使用this.getChildAt(index)
引用未命名实例。
一旦获得了对所需实例的引用,就可以根据需要轻松控制它。(gotoAndPlay()/停止()等)
PS:在画布中,符号实例名称没有显式设置为输出中相应符号的名称属性-因此名称属性返回为null。非常确定Animate在导出到CreateJS时没有将名称属性设置为实例名称。很多人都要求它,所以可能会在。。。很高兴你找到了解决办法。