cocos creator是如何做类型转换

我在层级面板加了2个EditBox,然后在代码中写了2个属性:

properties : {
    edit1 : cc.EditBox,
    edit2 : cc.Node
}

接着将2个EditBox分别拖到属性面板的属性上,一个拖到edit1上,一个拖到edit2上。但是我能通过edit1.string获得输入的内容,通过edit2.string获得的是undefined。拖动赋值这一步引擎层肯定是做了什么操作,但是我不知道在哪里去看这部分的代码。所以我想问一下,这种现象的原理是什么。

edit1是cc.EditBox类型,他有string属性
edit2是cc.Node类型,你需要使用getComponent获取节点下的组件

this.edit2.getComponent(cc.EditBox).string = 'xxx'

建议你使用组件类型做定义,通过组件访问节点要方便一些

this.edit1.node.active = false; //控制组件上的节点属性
1赞