下载 App

每次需要点击一下才显示正确地图名

05/094 浏览
根本原因清楚了:
CloudLoadMapIndex 加载的是 文件名列表(map_index key),不包含地图名称
s_.mapDisplayNames[filename] 只有在 LoadMap 或 CloudLoadMap(实际加载地图数据时)才被写入
列表里从云端索引来的 map_0509_101656 从未被加载过,所以 mapDisplayNames 里没有它的名字
修复方案:CloudLoadMapIndex 加载完索引后,同时从每个 map_{filename} key 里读 name 字段(不需要加载整张地图数据)。但这会产生 N 个网络请求,代价太高。
更轻量的方案:在云端索引里同时存储 name,格式从 ["fname1","fname2"] 改为 [{id="fname1",name="小肠地图"},...],同时保持向后兼容。
现在完全清楚了。最轻量的修复:将 map_index 的格式从纯文件名数组改为 {id, name} 对象数组,CloudUpdateIndex 同时写 name,CloudLoadMapIndex 加载时顺便填充 mapDisplayNames,完全兼容旧格式(旧条目是字符串时降级处理)。
同时本地扫描时也要补充 displayName(读每个本地 JSON 的 name 字段)。
构建通过。
根本原因:map_index 云端索引只存文件名字符串,不含地图名称。ScanSavedMaps 扫描本地文件时也不读内容,所以从未加载过的地图在列表里只能显示 map_0509_101656 这样的文件名。
修改内容(MapEditorPersistence.lua):
位置 改动
CloudUpdateIndex 索引格式从 ["fname"] 升级为 [{id, name}],每次保存/改名时更新 name;兼容旧格式(字符串条目自动迁移)
CloudLoadMapIndex 解析新格式,加载索引同时填充 s_.mapDisplayNames;旧字符串格式降级处理
ScanSavedMaps 本地扫描时,对 mapDisplayNames 里没有记录的地图,顺手读 JSON 里的 name 字段填充
效果:进入编辑器后,所有地图在列表里直接显示正确名称(“小肠地图”、“口腔地图”),无需先点击加载一次。改名后下次进入也立即反映。
问题根源:刷新后本地 FS 为空(内存 FS 不持久),ScanSavedMaps 读不到本地文件。云端 map_index 是旧格式(纯字符串数组),没有 name 字段,所以我的新代码也没法填充 displayName。
需要做一次性迁移:加载旧格式索引时,并发拉取每个地图的 name 字段,然后刷新列表并将索引升级为新格式(之后就不需要再拉了)。
修复逻辑:
进入编辑器
  ↓
CloudLoadMapIndex 加载 map_index
  ├── 新格式 {id, name} → 直接填充 mapDisplayNames,列表立即显示正确名称
  └── 旧格式 ["map_0509_..."] → 并发拉取每个 map_{fname} 的完整数据取 name
        ↓ 全部完成后
        onRefresh_() 刷新侧边栏(名称显示正确)
        升级写回 map_index 为新格式
        ↓ 下次进入
        直接走新格式路径,不再有额外请求
首次进入会有 N 个并发请求(拉各地图数据取 name),完成后列表自动刷新。之后每次进入索引已是新格式,名称随索引直接加载,无额外开销。
【更新】新增驿站+远征地截图
【更新】新增驿站+远征地
官方
2 回复
【更新】平台新版本发布游戏变成了“预约”截图
【更新】平台新版本发布游戏变成了“预约”
今天更新之后,一直奇怪怎么看不到“热度”,变成了“预约” 后面才知道,需要去这里改为 提供游玩 【更新】 1、新增便签墙功能,每一局都有小故事 2、增加了自定义头像
3 赞
1 回复
🚪【权限申请】传送门截图
🚪【权限申请】传送门
需要把ID发到论坛里(ID在游戏右下角),管理员审批。 这里回帖ID就行
7 赞
130 回复
【看病得花多钱】这是我的一个想法,作为下一个版本的重要功能。
但目前苦于没有各地各级医院的收费数据,如果有朋友能随手告知一二,我都愿意收集起来,形成这个游戏体验功能。截图
【看病得花多钱】这是我的一个想法,作为下一个版本的重要功能。 但目前苦于没有各地各级医院的收费数据,如果有朋友能随手告知一二,我都愿意收集起来,形成这个游戏体验功能。
精华
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 | 万物相遇 | 把一张牌放到另一张牌上 |
官方