一、问题

当下载打开github上的源码工程(本文使用的是cocos creator 3.8源码工程),在确保使用的Creator版本与工程中说明的版本一致的前提下,打开示例工程场景文件时,一般都会出现如题所示的错误。大致意思是“丢失有关代码文件或者其中存在错误”。

这时一种极有可能的错误原因是,我们没有安装配置文件package.json中所要求下载安装的第三方开源框架或库——于是导致本地打开(要同时进行编译操作)时出现上述错误。

二、解决办法

初步办法

针对上述情况(其他错误原因暂不考虑),一个自然的解决步骤是安装还没有安装的框架或库:

(1)切换到项目根目录下;

(2)安装:npm install &&把依赖库安装到本项目目录结构下,因为这里没有使用全局安装参数-g

再切换到Cocos Creator IDE下,再次尝试切换打开目标场景文件。此时,我们会发现部分场景已经可以正常打开——控制台不再出现如题所示飘红标记错误。但是,往往还会有部分场景仍然存在飘红标记错误。

此时,我们可以大胆设想:项目作者相当多的是比较负责任的,也就是说,他们上传到github上的绝大多数都是其在特定工具环境下调试通过的,有的还带有非常好的测试结果,甚至是已经正式发行到商业平台上的产品的源码。假如这样,那么问题很可能在我们这一边。

结合类似想法,我使用百度搜索(使用关键词“cocos creator 打开场景错误 [Scene] Missing class”),得到的机器人回答如下:

在Cocos Creator中,当尝试打开一个场景(Scene)但是编辑器找不到对应的脚本类定义时,会出现 "[Scene] Missing class" 错误。这通常意味着场景中引用的脚本文件可能已经被删除、重命名或者移动位置,或者是脚本中的类名与文件名不匹配。

解决方法:

  1. 检查报错指向的脚本文件是否存在于项目文件夹中。
  2. 确认脚本中定义的类名是否与文件名完全匹配(包括大小写)。
  3. 如果脚本文件已经被移动或重命名,更新引用该脚本的场景中的节点,确保它们指向正确的脚本文件。
  4. 如果脚本文件被删除,需要从项目中移除引用了该脚本的节点,或者替换为正确的脚本文件。
  5. 清除Cocos Creator的缓存,有时候编辑器的缓存可能导致识别错误。
  6. 如果问题依旧存在,尝试重启Cocos Creator编辑器。

在处理完以上步骤后,重新尝试打开场景,错误应该被解决。如果问题依然存在,可能需要进一步检查项目的配置或者寻求Cocos Creator社区的帮助。


根据上述分析,我把终点锁定在方法5。那么,如果清除Cocos Creator的缓存呢?

清除Cocos Creator的缓存

所使用命令如下图所示(“开发者-缓存-清除代码缓存”,因为截图出现飘移,所以下面截图有所偏差):

cocos creator 打开场景错误 [Scene] Missing class_cocos creator 打开场景错误

再切换各场景文件,并观察控制台输出,问题解决!