耳内有灰:
问题原因:拆除屋檐/柱子时调用的是旧版全局方法 mapData:UninstallRoof(),它只检查已弃用的 self.roofInstalled 全局字段。而实际屋檐数据存储在 wallParts[wk].roofInstalled 中。修复:从 piece.data.wallKey 解析出 anchorRow, anchorCol,改为调用 mapData:UninstallWallParts(row, col),这个方法会正确清除对应墙段的 pillarsInstalled 和 roofInstalled。
:
掉落物深度排序修复问题根因:MapCanvas 的渲染分两个阶段:_RenderBuildings — 建筑和树木统一按行号(sortRow)深度排序,远处先画、近处后画_RenderNPCs — 角色和掉落物,没有排序,且在建筑/树木之后绘制这导致所有掉落物无条件画在所有树木上面,不管掉落物实际上在哪棵树的前面还是后面。修复方案:将掉落物纳入 _RenderBuildings 的统一深度排序:_RenderBuildings 新增第 3 步:收集 _isDrop 标记的 NPC,根据 content 坐标 cy / ts + 1 计算 sortRow,与建筑/树木一起排序新增 _RenderOneDrop 方法:处理掉落物的坐标变换和 renderFunc 调用_RenderNPCs 增加 npc._isDrop 跳过判断,避免重复渲染现在掉落物会和树木按同一深度轴排序,后方树木掉出的木头会被前方树木正确遮挡,Q/E 旋转后也不会出现"木头跑到树冠上"的视觉错误。






