1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-28 06:51:54 +08:00

feat(UI): 重构能量条为垂直样式并调整UI布局

refactor: 修改能量恢复随机范围从0.01-0.15调整为0.01-0.1
style: 更新着色器进度范围提示从0.0-2.0改为-0.0-2.0
feat: 新增垂直颜色条组件和样式资源
chore: 恢复测试波次为普通模式
This commit is contained in:
2025-09-09 22:26:16 +08:00
parent 547e059c5b
commit a7d1264830
9 changed files with 120 additions and 42 deletions
+3 -3
View File
@@ -17,12 +17,12 @@ static var presetWaves = {
create(preload("res://components/Characters/Bear.tscn"), 0, 0, true, 19, INF, 10),
],
"testBoss": [
# create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1),
# create(preload("res://components/Characters/Bear.tscn"), 1, 1, true, 0, INF, 1),
create(preload("res://components/Characters/Chick.tscn"), 1, 1, true, 0, INF, 1),
create(preload("res://components/Characters/Bear.tscn"), 1, 1, true, 0, INF, 1),
create(preload("res://components/Characters/KukeMC.tscn"), 1, 1, true, 0, INF, 1),
]
}
static var data = presetWaves["testBoss"]
static var data = presetWaves["normal"]
static func create(
entity_: PackedScene,
+1 -1
View File
@@ -156,7 +156,7 @@ func _physics_process(_delta: float) -> void:
if (isPlayer() or is_instance_valid(currentFocusedBoss)) and not charginup:
ai()
move_and_slide()
storeEnergy(randf_range(0.01, 0.15) * fields.get(FieldStore.Entity.ENERGY_REGENERATION), true)
storeEnergy(randf_range(0.01, 0.1) * fields.get(FieldStore.Entity.ENERGY_REGENERATION), true)
trailParticle.emitting = trailing
# 通用方法
-6
View File
@@ -2,8 +2,6 @@ extends CanvasLayer
class_name UIState
@onready var items = $"%items"
@onready var energyLabel: Label = $"%energy"
@onready var energyMaxLabel: Label = $"%energyMax"
@onready var fields: VBoxContainer = $"%fields"
@onready var fieldsAnimator: AnimationPlayer = $"%fieldsAnimator"
@@ -21,14 +19,10 @@ func _ready():
energyPercent = $"%percent"
itemCollect = $"%itemCollect"
skillIconContainer = $"%skillContainer"
# for i in FieldStore.entityMap:
# print(FieldStore.entityMap[i])
func _process(_delta):
bossbar.visible = !!bossbar.entity
func _physics_process(_delta):
if is_instance_valid(player):
energyLabel.text = "%.2f" % clamp(player.energy, 0, player.fields.get(FieldStore.Entity.MAX_ENERGY))
energyMaxLabel.text = "%.1f" % player.fields.get(FieldStore.Entity.MAX_ENERGY)
for i in items.get_children():
var item = i as ItemShow
item.count = player.inventory.get(item.type)
@@ -0,0 +1,8 @@
@tool
extends ColorBar
class_name VerticalColorBar
func _draw():
draw_style_box(backBox, Rect2(0, 0, size.x, size.y))
draw_style_box(middleBox2 if forwardDirection > 0 else middleBox1, Rect2(0, size.y * (1 - getPercent(middleValue)), size.x, size.y * getPercent(middleValue)))
draw_style_box(frontBox, Rect2(0, size.y * (1 - getPercent(frontValue)), size.x, size.y * getPercent(frontValue)))