用getComponent角色绑定控件返回值为null

  • Creator 版本:2.3

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

// 顶部代码
var HeroPlayer = require("HeroPlayer");
// 方法内代码片段
let player = this.player.getComponent(HeroPlayer);//角色绑定控件
console.log("player:"+player) // player:null

弟弟苦苦在百度上搜索(弟弟第一天入坑),但是依然找不到出现null的原因。哀求社内大佬赐教。

百度了下ccc调用其他类方法,也知道了将调用类方法加上静态便能够调用。
弟弟看了官方的API中的Node.getComponent()

this.player.getComponent(HeroPlayer)

这句话代码是不是可以理解为将Game.js中已含有属性player添加HeroPlayer.js中的所有属性并返回一个新的component?

如果这样没取到,没意外你没有在GUI上面将脚本拖曳到节点上形成组件,或者没有透过代码将组件设定到脚本中,那当然取不到

如果不是在编辑器绑定这个脚本,在代码里给node绑定脚本是var a = this.node.addComponent(A); addComponent方法会返回被绑定的组件A。 就不用再this.node.getComponent(A)了,直接用上面的a。

感谢两位老哥的回复,也确实帮我解决了问题。


我将该Script直接拖入Camera下,而非拖入Camera的属性检查器中,才导致该节点取不到想要的内容。

谨记。

果然学途中切勿理所当然。