feat(mana): HUD 蓝条数字+低蓝暗红+过热泛红 + UI_MANA 键

This commit is contained in:
2026-07-21 15:21:19 +08:00
parent 301f731e6c
commit 9fb7131323
5 changed files with 31 additions and 0 deletions
+19
View File
@@ -27,6 +27,7 @@ var _lbl_dps: Label = null
var _lbl_charge: Label = null
var _lbl_statuses: Label = null
var _mana_bar: ProgressBar = null
var _mana_lbl: Label = null
var _dps_poll_timer: float = 0.0
@@ -243,6 +244,12 @@ func _setup_hud() -> void:
mana_bg.bg_color = Color(0.12, 0.12, 0.22)
_mana_bar.add_theme_stylebox_override("background", mana_bg)
_hud_layer.add_child(_mana_bar)
_mana_lbl = Label.new()
_mana_lbl.position = Vector2(200, 86)
_mana_lbl.size = Vector2(170, 16)
_mana_lbl.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
_mana_lbl.add_theme_font_size_override("font_size", 11)
_hud_layer.add_child(_mana_lbl)
_lbl_status = make_label.call(Vector2(20, 620), 20)
_lbl_status.modulate = Color.YELLOW
@@ -341,6 +348,18 @@ func _refresh_hud() -> void:
if _mana_bar:
_mana_bar.max_value = PlayerStats.mana_max
_mana_bar.value = PlayerStats.mana
var frac: float = PlayerStats.mana / maxf(1.0, PlayerStats.mana_max)
var fill := _mana_bar.get_theme_stylebox("fill") as StyleBoxFlat
if fill:
if frac < 0.2:
var a: float = 0.6 + 0.4 * absf(sin(float(Time.get_ticks_msec()) / 150.0))
fill.bg_color = Color(0.8, 0.2, 0.2, a)
else:
fill.bg_color = Color(0.3, 0.55, 1.0)
var h: float = clampf(PlayerStats.mana_heat, 0.0, 0.7)
_mana_bar.modulate = Color(1.0, 1.0 - h, 1.0 - h)
if _mana_lbl:
_mana_lbl.text = tr("UI_MANA") % [int(PlayerStats.mana), int(PlayerStats.mana_max)]
func _refresh_shop_ui() -> void:
for i in _shop_btns.size():
+3
View File
@@ -212,3 +212,6 @@ msgstr "Unlocked"
msgid "META_CLOSE"
msgstr "Close"
msgid "UI_MANA"
msgstr "MP %d/%d"
+3
View File
@@ -212,3 +212,6 @@ msgstr "解放済み"
msgid "META_CLOSE"
msgstr "閉じる"
msgid "UI_MANA"
msgstr "MP %d/%d"
+3
View File
@@ -212,3 +212,6 @@ msgstr "已解锁"
msgid "META_CLOSE"
msgstr "关闭"
msgid "UI_MANA"
msgstr "蓝 %d/%d"
+3
View File
@@ -212,3 +212,6 @@ msgstr "已解鎖"
msgid "META_CLOSE"
msgstr "關閉"
msgid "UI_MANA"
msgstr "藍 %d/%d"