下载 App
发布时间
发布时间
【BUG经验】屋檐蓝图跟随鼠标移动

好几轮,都没搞定蓝图跟随鼠标移动,还好找到了老的项目的成功案例,喂给了嗒啦啦 嗒: 核心在以下几处: 1. 点击菜单项进入栽树模式 — BuildMenu.lua:714-727 lua 复制 elseif btn.action == "tree_item" then S.tm.selectedType = btn.treeType S.tm.active = true S.tm.justE

video-5641032
【BUG经验】点赞、输入表情包,弹窗会重新弹窗一次

我:点赞、输入表情包,弹窗会重新弹窗一次(闪退重开那种感觉) 嗒: 修复总结: 弹窗内容消失问题 — 根本原因是 UI.Panel 不支持 overflow = "scroll" 属性,导致整个内容区域高度坍塌为 0。已替换为 UI.ScrollView { height = 360, scrollY = true, showScrollbar = true }。 评论区滚动 — 将弹窗内容拆分为

video-5640961
耳内有灰
嗒啦啦终于修复:
继续修复地形纹理渲染为条纹的 bug。问题已定位:nvgImagePattern 使用了原始纹理尺寸(如 512×512)作为 pattern 大小,但每个 tile 只有 64×64,导致只显示纹理的一小部分。
让我先读取当前代码确认状态。
问题清晰了。三个渲染路径都需要修复:
普通渲染:nvgImagePattern(nvg, ox, oy, texW, texH, ...) → 应改为 (x, y, ts, ts)
镜像渲染:同样使用了 texW, texH → 应改为 ts, ts
diagShift 路径:使用 pw = texW * 13,这个逻辑是特殊的大尺寸纹理映射,暂不改动
核心修复:将 pattern 大小从原始纹理尺寸改为 tile 尺寸,pattern 起点改为 tile 位置,这样每个 tile 恰好显示一张完整纹理。
构建成功。修复内容总结:
问题:地形纹理渲染为条纹/斜线,完全看不到素材样貌。
根因:nvgImagePattern 的 pattern 尺寸使用了原始纹理尺寸(如 512×512),但每个 tile 的矩形只有 64×64。纹理被映射到 512px 宽的区域上,而 tile 只截取了其中 1/8 的窄条,导致出现条纹。
修复:
普通渲染:nvgImagePattern(nvg, x, y, ts, ts, ...) — pattern 大小改为 tile 大小,起点改为 tile 位置,每个 tile 恰好显示一张完整纹理
镜像渲染:同样改为 nvgImagePattern(nvg, fx, y, ts, ts, ...)
diagShift 路径:保持不变(该路径使用 13 倍放大纹理,是专门的对角线纹理逻辑)
已经到底了