[M12] 完整 UI / HUD:背包、角色面板、技能树、腰带、血蓝球 #27

Closed
opened 2026-09-15 06:36:01 +00:00 by troytt · 0 comments
Owner

里程碑 M12 · 重要程度 ★★★★☆ · 风险 低 · 依赖:M6(建议插队到 M8 之后)
完整路线图见 ROADMAP.md


建议插队

💡 这个里程碑值得提前到 M8 之后做。

  • UI 素材在 data\\global\\ui\\ 下,是 DC6,解码器已经就绪
  • 风险最低(纯表现层,不碰模拟)
  • 血球 / 蓝球 + 背包界面带来的感知提升远超工作量——这是「突然看起来像暗黑 2 了」的那个节点

代价:M9 / M10 落地后 UI 要返工一轮数据绑定。考虑到 UI 层与数据层本来就该解耦,这个代价可接受。

改动清单

  • [NEW] src/ui/inventory.ts —— 背包 10×4 网格 + 装备槽
  • [NEW] src/ui/character-sheet.ts —— 角色面板
  • [NEW] src/ui/skill-tree-panel.ts —— 技能树面板
  • [NEW] src/ui/belt.ts —— 腰带
  • [NEW] src/ui/globes.ts —— 血球 / 蓝球
  • [NEW] src/ui/hotkeys.ts —— 技能快捷键
  • [NEW] src/ui/font.ts —— D2 位图字体(data\\local\\font\\)

注意

联机场景(net-scene.ts)目前没有背包 UI、没有血蓝球(单人场景有)。
虽然联机不在交付路径上,但新写的 UI 组件应该与场景解耦,将来能直接复用。

验收

  • 界面截图与原版并排对比
  • UI DC6 解码零失败
  • 背包拖拽、装备穿脱、腰带快捷使用均正常
  • 截图回归测试(浏览器侧判定靠状态字段,不靠看图——把状态挂到 window.__d2web* 上由 CDP 读取)
> **里程碑 M12** · 重要程度 ★★★★☆ · 风险 低 · 依赖:M6(建议插队到 M8 之后) > 完整路线图见 [`ROADMAP.md`](https://git.projectdiablo2.cn/troytt/diablo2-web/src/branch/main/ROADMAP.md) --- ## 建议插队 > 💡 **这个里程碑值得提前到 M8 之后做。** > > - UI 素材在 `data\\global\\ui\\` 下,是 **DC6**,**解码器已经就绪** > - 风险最低(纯表现层,不碰模拟) > - 血球 / 蓝球 + 背包界面带来的**感知提升远超工作量**——这是「突然看起来像暗黑 2 了」的那个节点 > > 代价:M9 / M10 落地后 UI 要返工一轮数据绑定。考虑到 UI 层与数据层本来就该解耦,这个代价可接受。 ## 改动清单 - **[NEW] `src/ui/inventory.ts`** —— 背包 10×4 网格 + 装备槽 - **[NEW] `src/ui/character-sheet.ts`** —— 角色面板 - **[NEW] `src/ui/skill-tree-panel.ts`** —— 技能树面板 - **[NEW] `src/ui/belt.ts`** —— 腰带 - **[NEW] `src/ui/globes.ts`** —— 血球 / 蓝球 - **[NEW] `src/ui/hotkeys.ts`** —— 技能快捷键 - **[NEW] `src/ui/font.ts`** —— D2 位图字体(`data\\local\\font\\`) ## 注意 联机场景(`net-scene.ts`)目前没有背包 UI、没有血蓝球(单人场景有)。 虽然联机不在交付路径上,但新写的 UI 组件应该与场景解耦,将来能直接复用。 ## 验收 - [ ] 界面截图与原版并排对比 - [ ] UI DC6 解码零失败 - [ ] 背包拖拽、装备穿脱、腰带快捷使用均正常 - [ ] 截图回归测试(浏览器侧判定靠状态字段,不靠看图——把状态挂到 `window.__d2web*` 上由 CDP 读取)
troytt added this to the [M12] 完整 UI / HUD:背包、角色面板、技能树、腰带、血蓝球 milestone 2026-09-17 07:23:20 +00:00
Sign in to join this conversation.
No Label
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: troytt/diablo2-web#27
No description provided.