From bf64114633ef9967f07df9b24e0a5fd19f1161b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=A8=E8=90=BD=E5=9F=BA=E5=9B=B4=E8=99=BE?= <3161880837@qq.com> Date: Wed, 27 Aug 2025 21:43:06 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E9=9F=B3=E6=95=88):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=89=A9=E5=93=81=E6=94=B6=E9=9B=86=E9=9F=B3=E6=95=88=E5=B9=B6?= =?UTF-8?q?=E6=94=B9=E8=BF=9B=E6=95=B0=E5=80=BC=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 为物品收集添加音效播放功能 在EntityBase.gd中调用playSound("collect") 添加Collect.wav音效文件及导入配置 改进数值显示格式: - 在MathTool.gd中添加signBeforeStr方法 - 修改FieldShow.gd使用新方法显示带符号的数值 - 调整FieldShow.tscn的UI布局 同时修复MakeFeed.gd中feed显示问题 --- .vscode/settings.json | 3 +++ components/Abstracts/EntityBase.tscn | 6 +++++- components/UI/FieldShow.tscn | 18 ++++++++++++++-- components/UI/ItemDropped.tscn | 2 +- resources/sounds/effect/Collect.wav | Bin 0 -> 28492 bytes resources/sounds/effect/Collect.wav.import | 24 +++++++++++++++++++++ scripts/Contents/Panels/MakeFeed.gd | 1 + scripts/Statemachine/EntityBase.gd | 1 + scripts/Statemachine/FieldShow.gd | 6 +++--- scripts/Tools/MathTool.gd | 4 +++- 10 files changed, 57 insertions(+), 8 deletions(-) create mode 100644 .vscode/settings.json create mode 100644 resources/sounds/effect/Collect.wav create mode 100644 resources/sounds/effect/Collect.wav.import diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..bf6850f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "godotTools.editorPath.godot4": "d:\\Program Files\\Godot\\godot43.exe" +} \ No newline at end of file diff --git a/components/Abstracts/EntityBase.tscn b/components/Abstracts/EntityBase.tscn index 928d298..0bc70a6 100644 --- a/components/Abstracts/EntityBase.tscn +++ b/components/Abstracts/EntityBase.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=17 format=3 uid="uid://cvogxi7mktumf"] +[gd_scene load_steps=18 format=3 uid="uid://cvogxi7mktumf"] [ext_resource type="Script" path="res://scripts/Statemachine/EntityBase.gd" id="1_mvol6"] [ext_resource type="Texture2D" uid="uid://dwwpkn4q07ja2" path="res://icon.svg" id="2_7lpu0"] +[ext_resource type="AudioStream" uid="uid://cn876dtp1ypqx" path="res://resources/sounds/effect/Collect.wav" id="2_qt0aq"] [ext_resource type="PackedScene" uid="uid://dcjqjqere8ets" path="res://components/UI/EntityStateBar.tscn" id="2_uje1g"] [sub_resource type="SpriteFrames" id="SpriteFrames_wcqpm"] @@ -184,6 +185,9 @@ unique_name_in_owner = true [node name="hurt" type="AudioStreamPlayer2D" parent="sounds"] +[node name="collect" type="AudioStreamPlayer2D" parent="sounds"] +stream = ExtResource("2_qt0aq") + [node name="attack0" type="AudioStreamPlayer2D" parent="sounds"] [node name="texture" type="AnimatedSprite2D" parent="."] diff --git a/components/UI/FieldShow.tscn b/components/UI/FieldShow.tscn index 4b2d62f..00f38be 100644 --- a/components/UI/FieldShow.tscn +++ b/components/UI/FieldShow.tscn @@ -4,17 +4,31 @@ [ext_resource type="Theme" uid="uid://b6nox1qqh50ub" path="res://themes/smallText.tres" id="2_x62bb"] [node name="FieldShow" type="HBoxContainer"] +offset_right = 144.0 +offset_bottom = 18.0 script = ExtResource("1_gwocj") +metadata/_edit_horizontal_guides_ = [18.0] [node name="name" type="Label" parent="."] unique_name_in_owner = true layout_mode = 2 +size_flags_horizontal = 11 theme = ExtResource("2_x62bb") -text = "最大生命值" +text = "生命上限" +horizontal_alignment = 1 + +[node name="sep" type="ColorRect" parent="."] +custom_minimum_size = Vector2(20, 1) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +size_flags_stretch_ratio = 16.0 [node name="value" type="Label" parent="."] unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 10 +size_flags_vertical = 8 theme = ExtResource("2_x62bb") -text = "0" +text = "+0" +horizontal_alignment = 1 diff --git a/components/UI/ItemDropped.tscn b/components/UI/ItemDropped.tscn index 70351b3..a95047e 100644 --- a/components/UI/ItemDropped.tscn +++ b/components/UI/ItemDropped.tscn @@ -11,7 +11,7 @@ script = ExtResource("1_v2djl") [node name="texture" type="Sprite2D" parent="."] unique_name_in_owner = true -scale = Vector2(0.25, 0.25) +scale = Vector2(0.5, 0.5) texture = ExtResource("2_4hl42") [node name="hitbox" type="CollisionShape2D" parent="."] diff --git a/resources/sounds/effect/Collect.wav b/resources/sounds/effect/Collect.wav new file mode 100644 index 0000000000000000000000000000000000000000..a2a47b67d94aa05ceceb4cd26c71aeec71b50cf5 GIT binary patch literal 28492 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 literal 0 HcmV?d00001 diff --git a/resources/sounds/effect/Collect.wav.import b/resources/sounds/effect/Collect.wav.import new file mode 100644 index 0000000..b2dab00 --- /dev/null +++ b/resources/sounds/effect/Collect.wav.import @@ -0,0 +1,24 @@ +[remap] + +importer="wav" +type="AudioStreamWAV" +uid="uid://cn876dtp1ypqx" +path="res://.godot/imported/Collect.wav-4d772a4eda4ec839db8d846e0f5a9531.sample" + +[deps] + +source_file="res://resources/sounds/effect/Collect.wav" +dest_files=["res://.godot/imported/Collect.wav-4d772a4eda4ec839db8d846e0f5a9531.sample"] + +[params] + +force/8_bit=false +force/mono=false +force/max_rate=false +force/max_rate_hz=44100 +edit/trim=false +edit/normalize=false +edit/loop_mode=0 +edit/loop_begin=0 +edit/loop_end=-1 +compress/mode=0 diff --git a/scripts/Contents/Panels/MakeFeed.gd b/scripts/Contents/Panels/MakeFeed.gd index 7b56dfb..632ae3a 100644 --- a/scripts/Contents/Panels/MakeFeed.gd +++ b/scripts/Contents/Panels/MakeFeed.gd @@ -60,5 +60,6 @@ func regenerateCards(): feeds.shuffle() for i in range(UIState.player.fields[FieldStore.Entity.FEED_COUNT_SHOW]): var feed = feeds[i] as Feed + feed.show() avaliableFeeds.remove_child(feed) feedCards.add_child(feed) diff --git a/scripts/Statemachine/EntityBase.gd b/scripts/Statemachine/EntityBase.gd index 5cc53ff..8159609 100644 --- a/scripts/Statemachine/EntityBase.gd +++ b/scripts/Statemachine/EntityBase.gd @@ -71,6 +71,7 @@ func _ready(): func(body): if body is ItemDropped: inventory[body.item] += body.stackCount + playSound("collect") body.queue_free() ) energyChanged.connect( diff --git a/scripts/Statemachine/FieldShow.gd b/scripts/Statemachine/FieldShow.gd index 9eef6ae..87d36ff 100644 --- a/scripts/Statemachine/FieldShow.gd +++ b/scripts/Statemachine/FieldShow.gd @@ -13,9 +13,9 @@ func _ready(): var formattedValue: String var dataType = FieldStore.entityMapType[field] if dataType == FieldStore.DataType.VALUE: - formattedValue = str(value) + formattedValue = MathTool.signBeforeStr(value) elif dataType == FieldStore.DataType.ANGLE: - formattedValue = str(value) + "°" + formattedValue = MathTool.signBeforeStr(value) + "°" elif dataType == FieldStore.DataType.PERCENT: - formattedValue = "%.1f" % (value * 100) + "%" + formattedValue = MathTool.signBeforeStr(float("%.1f" % (value * 100))) + "%" valueLabel.text = formattedValue diff --git a/scripts/Tools/MathTool.gd b/scripts/Tools/MathTool.gd index 1e69df1..5209f64 100644 --- a/scripts/Tools/MathTool.gd +++ b/scripts/Tools/MathTool.gd @@ -8,4 +8,6 @@ static func randv2_range(offset: float): randf_range(-offset, offset) ) static func randc_from(array: Array): - return array[randi() % array.size()] \ No newline at end of file + return array[randi() % array.size()] +static func signBeforeStr(value: float): + return ("+" if value > 0 else "-" if value < 0 else "") + str(abs(value)) \ No newline at end of file