cc.Node在active = true时无法显示,console报错Identifier has already been declared

  • Creator 版本: 2.4.3

  • 目标平台: Cocos Inspector 插件

  • 重现方式: 见问题描述

  • 首个报错:image

  • 编辑器操作系统:Windows 11

  • 重现概率: 100%

  • 问题描述:
    image

在现有项目上创建一个新的uiWebView(实际为cc.Node,参照Cocos Creator webview 嵌入 - CSDN来使用时动态生成webview)

image

当在Cocos Inspector中运行时,代码控制该node active = true时,console报错"Identifier has already been declared",webview不显示,但已生成相应图层,导致原本webview所处位置下方的控件无法点击。

看起来是cc.Node相关的属性被重新定义了一遍。不使用代码激活该节点,使用cocos inspector直接激活该节点,可以看到报错显示在一个VM2242:1中,内容如下:

image

因为我并不熟悉cocos,这个算是我目前一个工作的一部分,因此遇到这个问题比较头疼。我不知道如何避免这个const的重复创建,因为看起来这并不是代码能控制的。直接搜索关键字也没有搜索到如何解决。

希望能通过讨论找到解决办法,感谢。

在浏览器会显示吗?

这个报错可能跟我最近的iframe支持有关,下个版本我给修复一下

你也可以先用iframe支持之前的版本

由于测试时前后端本地同时开,变成了一个跨域问题,因此浏览器直接打开会显示跨域相关的错误,所以本地测试时只能使用cocos inspector。

简单地直接把node设置成active在浏览器打开,会正常显示并且没有报错。

(帖子被作者删除,如无标记将在 24 小时后自动删除)

(帖子被作者删除,如无标记将在 24 小时后自动删除)