测试环境:
cocos creator3.7.3版本,在安卓平台会卡退。网页端是正常的。
操作步骤:
节点上存在 Sprite 组件,并使用脚本挂载 Button 组件:
this.node.addComponent(Button);
测试内容:
在节点上注册按钮点击事件,在对应节点上的脚本上挂载 Button 组件。
// 获取按钮组件
this._button = this.node.getComponent(Button);
if (!this._button) this._button = this.node.addComponent(Button);
在网页端,小游戏平台跑是正常的。
如果这个节点上没有挂载 Sprite 组件。在安卓端也是能够运行的。
问题来了,如果这个节点上挂载了 Sprite 组件,按照上面挂载 Button 组件时,在网页端,小游戏平台跑是正常的。在安卓端直接卡退。报错日志如下:
反正我是看不出是为什么卡退的,在哪个点卡退出去。
在后面一一排查,测试。才找到这个原因:
Sprite 组件 和 Button 组件一起的时候会出,后面我继续尝试,注释掉挂载 Button 组件的代码。改为编辑器上直接挂载,结果是可以的,后面抱着试一试的想法,补齐了编辑器上的属性设置,也就是下面两行代码。
this._button.target = this.node;
this._button.transition = Button.Transition.NONE;
这才解决问题。
纯新人,入门小白。出问题真不好查错解决。
