奥维实验icon
奥维实验
耳内有灰
问题原因:拆除屋檐/柱子时调用的是旧版全局方法 mapData:UninstallRoof(),它只检查已弃用的 self.roofInstalled 全局字段。而实际屋檐数据存储在 wallParts[wk].roofInstalled 中。修复:从 piece.data.wallKey 解析出 anchorRow, anchorCol,改为调用 mapData:UninstallWallParts(row, col),这个方法会正确清除对应墙段的 pillarsInstalled 和 roofInstalled。
耳内有灰
实现内容总结:测量牌匾区域 — 通过 PIL 分析 roof_mid.png(152×217),确定牌匾木板区域为 x=20…132, y=104…142,转换为比例常量添加比例常量(约 1786 行):PLAQUE_LEFT_RATIO = 0.1316,PLAQUE_RIGHT_RATIO = 0.8684PLAQUE_TOP_RATIO = 0.4793,PLAQUE_BOTTOM_RATIO = 0.6544牌匾隐形框+悬停检测(_RenderRoof 步骤 7c):根据中段位置 (roofLeft + capW, roofTop) 和中段尺寸 (midW, roofH) 乘以比例,计算牌匾矩形将鼠标屏幕坐标通过 ScreenToContent → 逆旋转 → 逆缩放,转换到 counter-rotation local 空间鼠标在牌匾矩形内时,绘制 2px 红色描边边框请预览测试 — 鼠标移到屋檐中段的牌匾区域上时应该出现红色边框。
耳内有灰
构建成功。完整流程总结:保存并同步到游戏选角的完整流程步骤 操作 背后发生了什么1 编辑器里修改角色 画布上编辑像素2 点击 “保存” CharStorage.Save() → 写入 characters/{id}.json3 点击 “<- 返回” 回到游戏 进入主界面4 角色选择弹窗自动弹出 buildRoster() 扫描 characters/*.json,你的角色出现在列表最前面,带缩略图5 选角色 → 点"进入游戏" loadCharData() 从 sandbox 读取你修改后的角色数据两种场景都已覆盖全新自建角色:编辑器新建 → 保存 → 游戏选角弹窗自动出现(带动态生成的缩略图)导入并修改内置角色(如"爸爸"):导入 → 修改 → 保存 → 游戏中选"爸爸"时会优先加载你修改后的版本(sandbox 优先于 assets)不需要任何额外操作,编辑器的"保存"就是唯一入口。