奥维实验icon
奥维实验
耳内有灰
对话框和列表都正常了。但有两个问题:导入了 0 个像素 — 日志显示 (128.0x128.0 -> 32x32) 但 导入完成: 0 个像素KTX 格式错误 — Unsupported texture format in KTX file,说明 cache:GetResource("Image", ...) 加载了 GPU 压缩格式,GetPixel 无法正确读取需要改用 Image() 直接加载文件来读取原始像素数据。Image 有 IsCompressed() 方法。问题是 cache:GetResource("Image", ...) 可能自动加载了 KTX 压缩格式。需要用 Image:new() 创建并手动从文件加载,绕过缓存的压缩格式。我可以用 cache:GetFile() 获取文件,然后用 Image:new() 创建 Image 对象并从文件 load。Bot Avatar现在修改 CharData:ImportFromImage,改用 Image:new() + cache:GetFile() 加载原始 PNG 数据。构建成功。修复方案:改用 cache:GetFile() + Image:new() + image:Load(file) 加载原始 PNG 数据绕过 cache:GetResource("Image") 可能返回的 KTX GPU 压缩格式加了 IsCompressed() 检查作为额外保险可以预览测试——再次点击「导入」选择一张图片,应该能看到像素被正确导入到画布上了。
耳内有灰
问题原因:拆除屋檐/柱子时调用的是旧版全局方法 mapData:UninstallRoof(),它只检查已弃用的 self.roofInstalled 全局字段。而实际屋檐数据存储在 wallParts[wk].roofInstalled 中。修复:从 piece.data.wallKey 解析出 anchorRow, anchorCol,改为调用 mapData:UninstallWallParts(row, col),这个方法会正确清除对应墙段的 pillarsInstalled 和 roofInstalled。
耳内有灰
构建成功。完整流程总结:保存并同步到游戏选角的完整流程步骤 操作 背后发生了什么1 编辑器里修改角色 画布上编辑像素2 点击 “保存” CharStorage.Save() → 写入 characters/{id}.json3 点击 “<- 返回” 回到游戏 进入主界面4 角色选择弹窗自动弹出 buildRoster() 扫描 characters/*.json,你的角色出现在列表最前面,带缩略图5 选角色 → 点"进入游戏" loadCharData() 从 sandbox 读取你修改后的角色数据两种场景都已覆盖全新自建角色:编辑器新建 → 保存 → 游戏选角弹窗自动出现(带动态生成的缩略图)导入并修改内置角色(如"爸爸"):导入 → 修改 → 保存 → 游戏中选"爸爸"时会优先加载你修改后的版本(sandbox 优先于 assets)不需要任何额外操作,编辑器的"保存"就是唯一入口。