getComponent传递进去参数类型被自动替换.

  • Creator 版本: 2.4.3

  • 目标平台:

  • 重现方式:运行就出现

  • 首个报错:

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

  • 手机型号:

  • 手机浏览器:

  • 编辑器操作系统: WINDOWS

  • 重现概率: 每次都有

有两个类,一个BtnDynamicEvent一个BtnDynamicEvent_params_string,
开始声明变量为BtnDynamicEvent,弄错了,后来改为BtnDynamicEvent_params_string

结果在getComponent(BtnDynamicEvent_params_string)的时候总是报错找不到组件.
依次断点进去,发现getComponent传递进去的是BtnDynamicEvent!!!

代码如下:
var dymBtnEvent: BtnDynamicEvent_params_string = null;

        if(i >= this.listPfbBtn.length) {

            const insBtn: cc.Node   = cc.instantiate(this.pfbBtn);

            insBtn.setParent(this.node);

            this.listPfbBtn.push(insBtn);

            dymBtnEvent = insBtn.getComponent(BtnDynamicEvent_params_string);

        }

        else {

            dymBtnEvent = this.listPfbBtn[i].getComponent(BtnDynamicEvent_params_string);

        }

        dymBtnEvent.node.color  = cc.Color.YELLOW;

报错dymBtnEvent是null,我断点查看insBtn里面components里包含BtnDynamicEvent_params_string脚本的.

更神奇的是,我在VS CODE里右键查看BtnDynamicEvent_params_string的定义声明,竟然跳转到BtnDynamicEvent类的声明里!

重启引擎,清空temp仍然没办法解决问题.