Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动画CC-getChildByName画布vs WebGL_Javascript_Flash_Adobe_Createjs - Fatal编程技术网

Javascript 动画CC-getChildByName画布vs WebGL

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中

下午好。我有一个FLA,在舞台上有一个
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时没有将名称属性设置为实例名称。很多人都要求它,所以可能会在。。。很高兴你找到了解决办法。