From d1bf911c79e7b5995a3f950eef65f71cda6c466d 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: Thu, 5 Feb 2026 20:26:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=AD=A6=E5=99=A8):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=92=A2=E7=AE=A1=E6=AD=A6=E5=99=A8=E8=93=84=E5=8A=9B=E7=89=B9?= =?UTF-8?q?=E6=95=88=E5=92=8C=E9=9F=B3=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 为钢管武器添加蓄力粒子效果 - 新增钢管落地音效资源 - 修改钢管子弹碰撞形状为圆形 - 添加钢管武器能量消耗和冷却时间配置 - 实现钢管子弹销毁时的落地效果 --- components/Bullets/Pipe.tscn | 6 +-- components/Characters/Rooster.tscn | 51 ++++++++++++++++++-- components/Effects/PipeFall.tscn | 10 ++++ components/Weapons/Pipe.tscn | 2 + resources/sounds/weapon/pipefall.mp3 | Bin 0 -> 21859 bytes resources/sounds/weapon/pipefall.mp3.import | 19 ++++++++ scripts/Contents/Bullets/PipeBullet.gd | 2 + scripts/Contents/Characters/Rooster.gd | 5 ++ scripts/Structs/Weapon.gd | 2 +- 9 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 components/Effects/PipeFall.tscn create mode 100644 resources/sounds/weapon/pipefall.mp3 create mode 100644 resources/sounds/weapon/pipefall.mp3.import diff --git a/components/Bullets/Pipe.tscn b/components/Bullets/Pipe.tscn index 9e1a980..d27eb10 100644 --- a/components/Bullets/Pipe.tscn +++ b/components/Bullets/Pipe.tscn @@ -15,8 +15,8 @@ animations = [{ "speed": 5.0 }] -[sub_resource type="RectangleShape2D" id="RectangleShape2D_j5ir5"] -size = Vector2(162, 12) +[sub_resource type="CircleShape2D" id="CircleShape2D_vcs8c"] +radius = 83.00603 [node name="Pipe" instance=ExtResource("1_3h25n")] script = ExtResource("2_vcs8c") @@ -29,4 +29,4 @@ scale = Vector2(0.27, 0.27) sprite_frames = SubResource("SpriteFrames_vcs8c") [node name="hitbox" parent="." index="1"] -shape = SubResource("RectangleShape2D_j5ir5") +shape = SubResource("CircleShape2D_vcs8c") diff --git a/components/Characters/Rooster.tscn b/components/Characters/Rooster.tscn index b00f0ed..2944a62 100644 --- a/components/Characters/Rooster.tscn +++ b/components/Characters/Rooster.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=13 format=3 uid="uid://dky8574uqc18r"] +[gd_scene load_steps=20 format=3 uid="uid://dky8574uqc18r"] [ext_resource type="PackedScene" uid="uid://cvogxi7mktumf" path="res://components/Abstracts/EntityBase.tscn" id="1_e5pl8"] [ext_resource type="Script" uid="uid://cthtupc6dtbav" path="res://scripts/Contents/Characters/Rooster.gd" id="2_oqdqd"] @@ -10,6 +10,43 @@ [ext_resource type="Texture2D" uid="uid://fn8qx72clh38" path="res://resources/characters/cock/rooster-a.svg" id="8_da2ca"] [ext_resource type="Texture2D" uid="uid://ci2ik43ce82uy" path="res://resources/characters/cock/rooster-b.svg" id="9_0omr3"] +[sub_resource type="Curve" id="Curve_da2ca"] +_data = [Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_0omr3"] +curve = SubResource("Curve_da2ca") + +[sub_resource type="Curve" id="Curve_joj4g"] +_limits = [-360.0, 1.0, 0.0, 1.0] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(1, -360), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_jluqw"] +curve = SubResource("Curve_joj4g") + +[sub_resource type="Curve" id="Curve_0omr3"] +_data = [Vector2(0.5, 1), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_joj4g"] +curve = SubResource("Curve_0omr3") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_joj4g"] +particle_flag_disable_z = true +emission_shape = 1 +emission_sphere_radius = 300.0 +angle_min = 1.0728835e-05 +angle_max = 360.00003 +angle_curve = SubResource("CurveTexture_jluqw") +gravity = Vector3(0, 0, 0) +radial_accel_min = -200.0 +radial_accel_max = -100.0 +scale_min = 7.0 +scale_max = 10.0 +scale_curve = SubResource("CurveTexture_joj4g") +alpha_curve = SubResource("CurveTexture_0omr3") + [sub_resource type="SpriteFrames" id="SpriteFrames_4v2ol"] animations = [{ "frames": [], @@ -55,7 +92,13 @@ useStatic = true metadata/_edit_horizontal_guides_ = [-188.0] metadata/_edit_vertical_guides_ = [71.0] -[node name="weaponStore" parent="." index="1"] +[node name="chargeParticle" type="GPUParticles2D" parent="." index="0"] +unique_name_in_owner = true +position = Vector2(0, -54) +amount = 100 +process_material = SubResource("ParticleProcessMaterial_joj4g") + +[node name="weaponStore" parent="." index="2"] process_mode = 4 [node name="Pipe" parent="weaponStore" index="0" instance=ExtResource("3_da2ca")] @@ -72,7 +115,7 @@ stream = ExtResource("5_xnbhq") [node name="hurt" parent="sounds" index="3"] stream = ExtResource("6_m5px1") -[node name="texture" parent="." index="3"] +[node name="texture" parent="." index="4"] position = Vector2(0, -47) sprite_frames = SubResource("SpriteFrames_4v2ol") animation = &"walk" @@ -89,6 +132,6 @@ shape = SubResource("CircleShape2D_h1v0q") [node name="normal" type="Node2D" parent="texture/weapons" index="0"] position = Vector2(56, -69) -[node name="statebar" parent="." index="4" node_paths=PackedStringArray("entity")] +[node name="statebar" parent="." index="5" node_paths=PackedStringArray("entity")] position = Vector2(0, -150) entity = NodePath("..") diff --git a/components/Effects/PipeFall.tscn b/components/Effects/PipeFall.tscn new file mode 100644 index 0000000..9dc571e --- /dev/null +++ b/components/Effects/PipeFall.tscn @@ -0,0 +1,10 @@ +[gd_scene load_steps=3 format=3 uid="uid://ukta2xq1l32k"] + +[ext_resource type="PackedScene" uid="uid://bcvuuy2m0pke0" path="res://components/Abstracts/EffectBase.tscn" id="1_qau47"] +[ext_resource type="AudioStream" uid="uid://7k43qbbcim2l" path="res://resources/sounds/weapon/pipefall.mp3" id="2_4ds2m"] + +[node name="PipeFall" instance=ExtResource("1_qau47")] +spawnSound = "spawn" + +[node name="spawn" parent="sounds" index="0"] +stream = ExtResource("2_4ds2m") diff --git a/components/Weapons/Pipe.tscn b/components/Weapons/Pipe.tscn index abe84cf..f6c6bde 100644 --- a/components/Weapons/Pipe.tscn +++ b/components/Weapons/Pipe.tscn @@ -20,6 +20,8 @@ storeType = { } descriptionTemplate = "按住蓄力扔出钢管,蓄力越久伤害越高。 基础伤害:$atk,蓄力倍率:$charge" +needEnergy = 2.0 +cooldown = 1000.0 [node name="avatar" parent="container/info" index="0"] texture = ExtResource("2_mmtf8") diff --git a/resources/sounds/weapon/pipefall.mp3 b/resources/sounds/weapon/pipefall.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..c4f75651e3a0ea5558f0de0ac60364f71bbe9a26 GIT binary patch literal 21859 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 literal 0 HcmV?d00001 diff --git a/resources/sounds/weapon/pipefall.mp3.import b/resources/sounds/weapon/pipefall.mp3.import new file mode 100644 index 0000000..a982d76 --- /dev/null +++ b/resources/sounds/weapon/pipefall.mp3.import @@ -0,0 +1,19 @@ +[remap] + +importer="mp3" +type="AudioStreamMP3" +uid="uid://7k43qbbcim2l" +path="res://.godot/imported/pipefall.mp3-a309c798ff22faf6a524405b2ca37197.mp3str" + +[deps] + +source_file="res://resources/sounds/weapon/pipefall.mp3" +dest_files=["res://.godot/imported/pipefall.mp3-a309c798ff22faf6a524405b2ca37197.mp3str"] + +[params] + +loop=false +loop_offset=0 +bpm=0 +beat_count=0 +bar_beats=4 diff --git a/scripts/Contents/Bullets/PipeBullet.gd b/scripts/Contents/Bullets/PipeBullet.gd index 2ef04c6..38383f0 100644 --- a/scripts/Contents/Bullets/PipeBullet.gd +++ b/scripts/Contents/Bullets/PipeBullet.gd @@ -7,3 +7,5 @@ func ai(): PresetBulletAI.forward(self, rotation) texture.rotation += energy * (1 - lifeTimePercent()) / 100 speed = initialSpeed * (1 - lifeTimePercent()) +func destroy(_beacuseMap: bool): + EffectController.create(ComponentManager.getEffect("PipeFall"), position).shot() diff --git a/scripts/Contents/Characters/Rooster.gd b/scripts/Contents/Characters/Rooster.gd index df72da2..3fdeb66 100644 --- a/scripts/Contents/Characters/Rooster.gd +++ b/scripts/Contents/Characters/Rooster.gd @@ -1,6 +1,8 @@ extends EntityBase class_name Rooster +@onready var chargeParticle: GPUParticles2D = $%chargeParticle + func register(): attackCooldownMap[0] = 200 attackCooldownMap[1] = 6000 @@ -11,6 +13,7 @@ func register(): elif bullet is FoxZhua: EffectController.create(ComponentManager.getEffect("BloodFall"), texture.global_position).shot() ) + chargeParticle.emitting = false var chargeStartTime = {} func ai(): @@ -62,6 +65,7 @@ func startCharge(weaponIndex: int): var weapon = weapons[weaponIndex] if weapon.chargable: chargeStartTime[weaponIndex] = Time.get_ticks_msec() + chargeParticle.emitting = true func endCharge(weaponIndex: int): if chargeStartTime.has(weaponIndex): var startTime = chargeStartTime[weaponIndex] @@ -73,3 +77,4 @@ func endCharge(weaponIndex: int): if weapon.chargable: weapon.chargedTime = chargedTime tryAttack(weaponIndex) + chargeParticle.emitting = false diff --git a/scripts/Structs/Weapon.gd b/scripts/Structs/Weapon.gd index 525a21e..2522fbf 100644 --- a/scripts/Structs/Weapon.gd +++ b/scripts/Structs/Weapon.gd @@ -175,7 +175,7 @@ func tryAttack(entity: EntityBase): entity.useEnergy(needEnergy) return result func charged(base: float, percent: float): - return base * (1 + chargedTime / 50 * percent) + return base * (1 + chargedTime / 75 * percent) # 抽象 func update(_to: int, origin: Dictionary, _entity: EntityBase):