[CocosCreator 踩坑记录] 无法保存场景Failed to update asset db

问题描述

无法保存场景,并出现以下报错:

Failed to update asset db://assets/scences, messages: Error: EISDIR: illegal operation on a directory, open ‘F:\PlayGround\Cocos Creator Projects\StarCatcher\assets\Scenes’
Failed to save scene db://assets/Scenes Error: EISDIR: illegal operation on a directory, open ‘F:\PlayGround\Cocos Creator Projects\StarCatcher\assets\scences’
undefined
Task [save-editor-mode:[scene]] run error, stop running other tasks.

 

解决方法

  1. 复制场景A(无法保存的场景)的所有文件(或者直接把Canvas一家子copy)
  2. 删除场景A文件
  3. 右键Scenes文件夹(自行创建),新建场景B,命名
  4. 双击进入场景B(一定要记得双击进入场景),问就是不保存
  5. 进入场景B后,删掉场景B原本的Canvas,粘贴复制的场景A的Canvas
  6. 保存,完成

如果还是不让保存,看一看是不是3、4步没有按照要求做。
在这里插入图片描述
 

一些吐槽

报错描述就是典型的每个字都看得懂,每一句也都看得懂,但是放到这个语境下就是死活不知道咋回事儿。

从第一行来看应该是Asset的更新或数据访问出现了问题,但是检查了一下发现确实项目资源都在Assets文件夹内

在各种地方用各种方法搜了一大圈,只找到了两个有同样问题的人,一个是今年3月的,一个是17年1月的(够久远)。从回复看来,应该都没有解决。

不过17年的帖子下有一个引擎开发团队人员的回复倒是给了启发:

看了你的工程,不知道为什么你工程上次打开的 scene 的 uuid 是 scenes 这个文件夹的 uuid
这个 uuid 存在在 local.json 的 last-edit 里

“scene 的 uuid 是 scenes 这个文件夹的 uuid”
重点就在这句话,这句话让我想起了保存场景的一个细节:

由于CocosCreator新建的空项目,默认是只有一个空荡荡的Assets文件夹的。所以当我习惯性的(Unity用惯了)按了ctr + s后,它会首先弹出一个框,给新建的场景命名。

但是!但是!!作为一个整理狂魔怎么能容忍场景文件直接躺在Assets文件夹里呢?于是就自然而然的点了个“新建文件夹”,起了个“Scenes”的名字,然后双击进入这个“Scenes”文件夹,新建了一个场景,确定,完成。

从结果看,Assets里确实有了一个Scenes文件夹,里面也确实躺着一个场景。

但是这里面的链接关系已经乱掉了:新建场景的id连到了Scenes文件夹上

所以解决方法也是简单粗暴:删掉这个连接错误的场景,进入并把场景里的所有东西转移到另外一个正常创建的场景,再按ctr + s正确建立连接保存即可。

还是忍不住吐槽一下,这么自然而然的操作竟然会导致连接错误…而且距离有人反映、官方人员回复已经过去了3年多,竟然还是这个样子…

算了,OneNote的字体问题到现在也是没有解决,有些事儿可能只能靠自己了吧23333

————————————————————————

最后希望这篇记录能帮到同样自然而然顺滑无比掉进了坑里的小伙伴!

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值