下载 App

关卡地图编辑器没有持久化

05/085 浏览综合
确认了。levels_cache 是 LevelManager 写入的发布关卡缓存文件,不是用户自建地图。 根因分析清楚了: ScanSavedMaps() 扫描 maps/*.json,会找到 levels_cache.json WASM 刷新后,levels_cache.json 可能在 LevelManager.Load() / CheckForUpdates() 时被重新写入(从 resource 或 cloud 加载),所以本地文件存在 #savedMaps  _ > 0(含 levels_cache),进入 elseif 分支
restoreMapsFromCloud() 从不被调用 — 云端恢复被跳过
用户的自建地图 + 绑定全部丢失
同时还有第二个问题:_bindings 也出现在已保存地图列表里(截图可见),说明 ScanSavedMaps 扫到了 maps/_bindings.json,它不是地图文件但被当成地图条目显示。

Bot Avatar
现在修复。有两个问题要解决:

问题 1:ScanSavedMaps 没有过滤 levels_cache 和 _bindings 这些非用户地图文件
问题 2:MapEditor.Create() 中云端恢复只在
#savedMaps  _ == 0 时触发,但 levels_cache 使条件永不成立

修复方案:

ScanSavedMaps 增加过滤列表,排除 levels_cache、_bindings 等非地图文件
Create() 中改用 cloudMapCache_ == nil 作为是否需要云恢复的条件——无论本地有没有文件,首次进入编辑器都应从云端拉取最新数据
现在修复 Create() 中的云恢复逻辑。核心问题:刷新后即使过滤了 levels_cache,cloudMapCache_ 仍为 nil(因为内存变量在刷新时清空),所以必须始终尝试从云端恢复,而不是只在本地为空时。
构建通过。总结这次修复的两个根因: 根因 1:ScanSavedMaps 没有过滤系统文件 maps/ 目录下有 levels_cache.json(发布关卡缓存)和 _bindings.json(绑定数据),它们不是用户自建地图,但被扫进了 savedMaps_ 列表。 表现:已保存地图列表里出现 levels_cache 和 _bindings 条目(截图中红框可见)。 修复:增加 SCAN_EXCLUDE 过滤表,ScanSavedMaps 在扫描本地文件和合并云端缓存时都跳过这些非地图条目。 根因 2:云端恢复只在 #savedMaps  _ == 0 时触发

WASM 刷新后:

LevelManager.Load() / CheckForUpdates() 会重建 maps/levels_cache.json
ScanSavedMaps() 扫到它 →
#savedMaps  _ > 0
代码走进 elseif
#savedMaps  _ > 0 分支 → restoreMapsFromCloud() 从不被调用
用户地图永远无法从云端恢复
修复:改为始终调用 restoreMapsFromCloud(),不再以 savedMaps_ 是否为空作为条件。同时保留立即加载本地自动存档的逻辑(如果本地有缓存可以先用),云端回调到达后再合并/刷新。
【更新】新增驿站+远征地截图
【更新】新增驿站+远征地
官方
2 回复
【更新】平台新版本发布游戏变成了“预约”截图
【更新】平台新版本发布游戏变成了“预约”
今天更新之后,一直奇怪怎么看不到“热度”,变成了“预约” 后面才知道,需要去这里改为 提供游玩 【更新】 1、新增便签墙功能,每一局都有小故事 2、增加了自定义头像
3 赞
1 回复
🚪【权限申请】传送门截图
🚪【权限申请】传送门
需要把ID发到论坛里(ID在游戏右下角),管理员审批。 这里回帖ID就行
7 赞
131 回复
【看病得花多钱】这是我的一个想法,作为下一个版本的重要功能。
但目前苦于没有各地各级医院的收费数据,如果有朋友能随手告知一二,我都愿意收集起来,形成这个游戏体验功能。截图
【看病得花多钱】这是我的一个想法,作为下一个版本的重要功能。 但目前苦于没有各地各级医院的收费数据,如果有朋友能随手告知一二,我都愿意收集起来,形成这个游戏体验功能。
精华
2 赞
20 回复
求密码id 如图截图
求密码id 如图
1 赞
1 回复
拖到合成目标才留位
错误原因 我在上一轮加回收功能时,为了"修位置回正"加了 else 分支:当牌既没拖到回收区、也没合成目标时,强制把牌弹回原位。这破坏了 Stacklands 的基本交互——拖到空地就该留在那里。 -- ❌ 错误版本(多余的 else 导致拖到空地也弹回) if inRecycle and not card.locked then ...回收溶解... elseif self._mergeTar
官方
统一生成素材的话术模板
可以。根据前面对话,建议不要把所有素材塞进同一条模板,因为目前已经形成了两套用途不同、但能共享色彩语言的视觉体系: 抽象概念角色插画:用于“沉没成本、追涨接盘、社会懈怠”等概念角色。 圆形技能徽章图标:用于“紧急避险、控盘信号、护航珍贝”等游戏技能。 下面可以直接保存为项目的统一美术生成规范。 一、统一美术风格总纲 风格名称 金融寓言卡通风 通用风格关键词 卡通手绘风格,金融寓言与社会讽刺主题,粗
官方
UI 按键动画设计经验
从 GDScript (Godot Tween) 移植到 UrhoX Lua + raw NanoVG 的完整经验总结。 版本: v0.3.0 | 日期: 2026-07-28 重要:第 1~9 节是"设计理论 + 自建补间引擎"思路(适合理解原理)。 但在《抓周》这类 Boot/Router/EventBus 模板里实测落地时,靠 Update 驱动补间会让按钮不可见、nvgRGBA 整数色会
官方
【更新】增加了一些任务截图
【更新】增加了一些任务
我从故事便签墙中,看到了大多数玩家都在和野兽、疾病博弈中倒下 我这两天补充了一些任务,有关合成物品的为主 在此感谢大伙儿的积极反馈
1 赞
4 回复
任务
当前任务栏共设计了 2 个阶段、7 个任务: --- ### 襁褓 · 初识世界(5个) | # | 任务名 | 描述 | 完成条件 | |---|--------|------|----------| | 1 | 看见万物 | 开启你的人生初体验 | 初始体验包开出 3 张牌 | | 2 | 伸手触碰 | 拖动任意一张牌 | 拖动 1 次 | | 3 | 万物相遇 | 把一张牌放到另一张牌上 |
官方