1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-05-30 16:01:53 +08:00

feat(子弹): 调整子弹属性和添加粒子效果

- 提高FireScan子弹的速度和伤害
- 修改Chick角色的攻击距离判定
- 调整ChickLaser的碰撞区域位置
- 将FireScan的碰撞形状改为矩形
- 为Diamond子弹添加粒子效果系统
This commit is contained in:
2025-08-29 11:34:25 +08:00
parent 5c16dcc294
commit 96430162b4
5 changed files with 97 additions and 10 deletions
+3 -2
View File
@@ -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)
+88 -1
View File
@@ -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
+2 -3
View File
@@ -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")
+2 -2
View File
@@ -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)
+2 -2
View File
@@ -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)