血量显示在玩家头顶
This commit is contained in:
@@ -77,6 +77,18 @@
|
||||
- 文档同步:`联机实战教程-由浅入深.md` 关卡 1 改成「先在 player.tscn 里加 Hud/HealthLabel 节点」;
|
||||
`联机框架使用指南.md` 的 player.tscn 结构图。
|
||||
|
||||
### 血条改到玩家头顶(Label3D)
|
||||
|
||||
- `player.tscn`:删掉 `Hud (CanvasLayer)`,改为 `HealthLabel (Label3D)` 直接挂在 `Player` 下,
|
||||
position `(0, 2.05, 0)`、`billboard=1`、`no_depth_test=true`、`font_size=64`、`pixel_size=0.005`(默认值)、`outline_size=8`。
|
||||
- `player.gd`:`@onready var _health_label: Label3D = $HealthLabel`,删掉 `_hud` 引用与 `_hud.visible = false`。
|
||||
- **顺带消掉一个坑**:用 `Label3D` 后,血条天然待在各自头顶,不再需要「远端玩家隐藏血条」那一步
|
||||
(屏幕坐标的 CanvasLayer 才需要,否则 N 份叠在同一屏幕位置)。
|
||||
现在默认人人可见别人的血量 —— 因为 health 是同步字段。
|
||||
- 尺寸换算:`Label3D` 的文字世界高度 ≈ `font_size × pixel_size`。64 × 0.005 ≈ 0.32 米。
|
||||
- 若要与关卡 3 的头顶名牌共存:血量放 `y=2.05`,名牌放 `y=2.3`,不重叠。
|
||||
- 验证:双实例 headless 联调,两个日志里 `ERROR|Invalid|null` 一条都没有。
|
||||
|
||||
### 反复出现的坑:编辑器把外部写盘的内容覆盖回去
|
||||
|
||||
`net.gd` 用 MCP `script_create` 写成功后,磁盘上又变回了旧版(`extends Node` + `_build_ui` 全在)。
|
||||
|
||||
Reference in New Issue
Block a user