法术/技能树面板 Tab 页切页样式与资产严格对齐暗黑 2 原版 1.13c 规范 #377
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
1. 问题现状与视觉缺陷分析
在当前技能树面板(
SkillTreePanel,对应快捷键T)中:ctx.fillRect/ctx.strokeRect)。#e8c26b)与平铺单色底色,完全缺失暗黑破坏神 2 原版标志性的石质立体浮雕按键、切角凹槽、哥特铁艺框架、以及当前激活 Tab 向右无缝凸出的连续金属外边框。2. 暗黑 2 v1.13c 真实资产规范 (Ground Truth)
2.1 资产来源与 320x432 完整规格
在暗黑 2 原版 MPQ 中,每个职业的技能树背景均存放在
data\global\ui\SPELLS\skltree_<class>_back.dc6(如法师为skltree_s_back.DC6,共 7 大职业)。2.2 垂直分段与几何坐标(4 等分 108px 高度)
以 320×432 面板坐标系为基准(原点位于技能面板左上角):
3. 修复方案与实现要求
3.1 资产离线提取管线重构 (
scripts/pack-skill-assets.ts)skltree_*_back.dc6,将 Set 0(基础未激活按键 + 顶部框)与对应的激活 Set(Set 1、2、3)按照透明通道复合,直接导出 320×432 的完整原版 PNG 背景图(如bg_sor_0.png,bg_sor_1.png,bg_sor_2.png,共 7 职业 × 3 Tab = 21 张)。3.2 面板渲染逻辑重构 (
src/ui/skill-tree-panel.ts)ctx.fillStyle = '#14110d'、ctx.fillRect(ox + 258, oy + vt.y, 60, 96)、ctx.strokeRect等现代 Canvas 手绘纯色方框。(ox, oy)绘制 320×432 原版复合背景图片。font16,有未分配点数时显示红色,为 0 时显示白色)。string.tbl中的StrSklTree*文本,使用暗黑原版字体(fontexocet10/fontformal12)居中排版于对应 108px 高度的 Tab 按钮中心(y 中心对应 162、270、378)。激活 Tab 为明亮金色(#c8a15a),未激活 Tab 为暗金/褐色(#d8c898或#696969)。3.3 点击与热区判定对齐
(400, 60)时,Tab 按钮命中热区更新为:400 + 256至400 + 320(即656 .. 720)。60 + 108至60 + 215(168 .. 275)60 + 216至60 + 323(276 .. 383)60 + 324至60 + 431(384 .. 491)4. 验收标准 (Acceptance Criteria)
npm run typecheck,npm test)100% 通过。