From 96430162b4e353b5aaa32baaeea38670291e4223 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: Fri, 29 Aug 2025 11:34:25 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E5=AD=90=E5=BC=B9):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=AD=90=E5=BC=B9=E5=B1=9E=E6=80=A7=E5=92=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E7=B2=92=E5=AD=90=E6=95=88=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提高FireScan子弹的速度和伤害 - 修改Chick角色的攻击距离判定 - 调整ChickLaser的碰撞区域位置 - 将FireScan的碰撞形状改为矩形 - 为Diamond子弹添加粒子效果系统 --- components/Bullets/ChickLaser.tscn | 5 +- components/Bullets/Diamond.tscn | 89 +++++++++++++++++++++++++++- components/Bullets/FireScan.tscn | 5 +- scripts/Contents/Bullets/FireScan.gd | 4 +- scripts/Contents/Characters/Chick.gd | 4 +- 5 files changed, 97 insertions(+), 10 deletions(-) diff --git a/components/Bullets/ChickLaser.tscn b/components/Bullets/ChickLaser.tscn index 708d69d..b8f627e 100644 --- a/components/Bullets/ChickLaser.tscn +++ b/components/Bullets/ChickLaser.tscn @@ -200,13 +200,14 @@ _data = { [node name="ChickLaser" instance=ExtResource("1_eb54j")] script = ExtResource("2_7g0f0") +metadata/_edit_vertical_guides_ = [705.0] [node name="rect" parent="texture" index="0"] material = SubResource("ShaderMaterial_x6ivr") offset_left = 204.0 -offset_top = 0.0 +offset_top = 25.0 offset_right = 254.0 -offset_bottom = 500.0 +offset_bottom = 525.0 [node name="particles" parent="texture/rect" index="0"] position = Vector2(25, 250) diff --git a/components/Bullets/Diamond.tscn b/components/Bullets/Diamond.tscn index 83514b3..b882ca2 100644 --- a/components/Bullets/Diamond.tscn +++ b/components/Bullets/Diamond.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=5 format=3 uid="uid://dbqrmirh6qi7s"] +[gd_scene load_steps=19 format=3 uid="uid://dbqrmirh6qi7s"] [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_8udva"] [ext_resource type="Texture2D" uid="uid://dfptmc7clhtx7" path="res://resources/bullets/diamond/frames/0.svg" id="2_txmup"] @@ -15,6 +15,80 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="Curve" id="Curve_khlay"] +_data = [Vector2(0, 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_j3oaf"] +curve = SubResource("Curve_khlay") + +[sub_resource type="Curve" id="Curve_gbse3"] +_data = [Vector2(0, 1), 0.0, 0.0, 0, 0, Vector2(0.99999, 0), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_vediw"] +curve = SubResource("Curve_gbse3") + +[sub_resource type="Gradient" id="Gradient_slgtv"] +colors = PackedColorArray(0.527344, 0.527344, 0.527344, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_j5862"] +gradient = SubResource("Gradient_slgtv") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_q4mpr"] +particle_flag_disable_z = true +emission_shape = 3 +emission_box_extents = Vector3(10, 10, 1) +angle_min = 1.07288e-05 +angle_max = 360.0 +angle_curve = SubResource("CurveTexture_vediw") +direction = Vector3(-1, 0, 0) +spread = 15.0 +initial_velocity_max = 20.0 +gravity = Vector3(0, 0, 0) +scale_min = 3.0 +scale_max = 6.0 +color = Color(0.580392, 0.831373, 0.87451, 1) +color_initial_ramp = SubResource("GradientTexture1D_j5862") +alpha_curve = SubResource("CurveTexture_j3oaf") + +[sub_resource type="Curve" id="Curve_dxe1y"] +_data = [Vector2(0, 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_diybr"] +curve = SubResource("Curve_dxe1y") + +[sub_resource type="Curve" id="Curve_msxpa"] +_data = [Vector2(0, 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_h0e2e"] +curve = SubResource("Curve_msxpa") + +[sub_resource type="Curve" id="Curve_evx5y"] +max_value = 2.0 +_data = [Vector2(0, 1.0014), 0.0, 0.0, 0, 0, Vector2(1, 2), 0.0, 0.0, 0, 0] +point_count = 2 + +[sub_resource type="CurveTexture" id="CurveTexture_5mdxy"] +curve = SubResource("Curve_evx5y") + +[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_fcn04"] +particle_flag_disable_z = true +angle_min = 1.07288e-05 +angle_max = 360.0 +angle_curve = SubResource("CurveTexture_h0e2e") +direction = Vector3(-1, 0, 0) +spread = 15.0 +initial_velocity_max = 100.0 +gravity = Vector3(0, 0, 0) +scale_min = 0.25 +scale_max = 0.75 +scale_curve = SubResource("CurveTexture_5mdxy") +color = Color(0.580392, 0.831373, 0.87451, 1) +alpha_curve = SubResource("CurveTexture_diybr") + [node name="Diamond" instance=ExtResource("1_8udva")] script = ExtResource("2_yxtyj") lifeTime = 5000.0 @@ -22,3 +96,16 @@ indisDamage = true [node name="texture" parent="." index="0"] sprite_frames = SubResource("SpriteFrames_oj6iy") + +[node name="particles" type="GPUParticles2D" parent="texture" index="1"] +amount = 50 +process_material = SubResource("ParticleProcessMaterial_q4mpr") +lifetime = 0.5 + +[node name="particles2" type="GPUParticles2D" parent="texture" index="2"] +amount = 4 +process_material = SubResource("ParticleProcessMaterial_fcn04") +texture = ExtResource("2_txmup") + +[node name="hitbox" parent="." index="1"] +visible = false diff --git a/components/Bullets/FireScan.tscn b/components/Bullets/FireScan.tscn index 4f0e5b6..5b754b5 100644 --- a/components/Bullets/FireScan.tscn +++ b/components/Bullets/FireScan.tscn @@ -3,12 +3,11 @@ [ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_cqre5"] [ext_resource type="Script" path="res://scripts/Contents/Bullets/FireScan.gd" id="2_qprdp"] -[sub_resource type="SegmentShape2D" id="SegmentShape2D_omahd"] -a = Vector2(0, -10) +[sub_resource type="RectangleShape2D" id="RectangleShape2D_4qcsn"] [node name="FireScan" instance=ExtResource("1_cqre5")] script = ExtResource("2_qprdp") lifeDistance = 200.0 [node name="hitbox" parent="." index="1"] -shape = SubResource("SegmentShape2D_omahd") +shape = SubResource("RectangleShape2D_4qcsn") diff --git a/scripts/Contents/Bullets/FireScan.gd b/scripts/Contents/Bullets/FireScan.gd index ca9dd50..7fc0f2d 100644 --- a/scripts/Contents/Bullets/FireScan.gd +++ b/scripts/Contents/Bullets/FireScan.gd @@ -2,8 +2,8 @@ extends BulletBase class_name FireScan func register(): - speed = 2 - damage = 1 + speed = 10 + damage = 5 func ai(): PresetsAI.forward(self, rotation) diff --git a/scripts/Contents/Characters/Chick.gd b/scripts/Contents/Characters/Chick.gd index ffc0ef1..37afcde 100644 --- a/scripts/Contents/Characters/Chick.gd +++ b/scripts/Contents/Characters/Chick.gd @@ -14,9 +14,9 @@ func register(): func ai(): move(currentFocusedBoss.position - position) - if currentFocusedBoss.position.distance_to(position) < 200: + if currentFocusedBoss.position.distance_to(position) < 300: tryAttack(2) - elif currentFocusedBoss.position.distance_to(position) < 500: + elif currentFocusedBoss.position.distance_to(position) < 700: tryAttack(1) else: tryAttack(0)