1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-24 12:32:29 +08:00

feat(武器系统): 新增蓝水晶武器及其子弹效果

实现蓝水晶武器系统,包含追踪子弹和环绕钻石效果
- 添加蓝水晶武器及配套子弹资源
- 实现子弹追踪逻辑和钻石环绕效果
- 扩展BulletBase类支持父子弹关联
- 更新角色预设包含新武器
This commit is contained in:
2025-12-13 07:55:02 +08:00
parent d8fcc8eb38
commit 311bc79252
11 changed files with 212 additions and 2 deletions
+54
View File
@@ -0,0 +1,54 @@
[gd_scene load_steps=8 format=3 uid="uid://b15v8csigsx5s"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_flng1"]
[ext_resource type="Script" uid="uid://d1031p38h24tw" path="res://scripts/Contents/Bullets/BlueCrystal.gd" id="2_0q2lw"]
[ext_resource type="Texture2D" uid="uid://c7hyatbuieaj" path="res://resources/bullets/purple-crystal/frames/0.svg" id="3_7v6qk"]
[sub_resource type="SpriteFrames" id="SpriteFrames_4h7m0"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("3_7v6qk")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="Curve" id="Curve_7v6qk"]
_data = [Vector2(0, 0.5), 0.0, 0.0, 0, 0, Vector2(1, 0), 0.0, 0.0, 0, 0]
point_count = 2
[sub_resource type="CurveTexture" id="CurveTexture_4h7m0"]
curve = SubResource("Curve_7v6qk")
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_u2ooq"]
particle_flag_disable_z = true
direction = Vector3(-1, 0, 0)
spread = 0.0
initial_velocity_min = 100.0
initial_velocity_max = 100.0
gravity = Vector3(0, 0, 0)
scale_min = 0.5
scale_max = 0.5
color = Color(1.353256, 1.353256, 1.353256, 1)
alpha_curve = SubResource("CurveTexture_4h7m0")
[node name="BlueCrystal" instance=ExtResource("1_flng1")]
script = ExtResource("2_0q2lw")
displayName = "蓝水晶"
speed = 5.0
lifeTime = 5000.0
[node name="texture" parent="." index="0"]
modulate = Color(0.8283318, 1.529841, 1.548706, 1)
sprite_frames = SubResource("SpriteFrames_4h7m0")
[node name="trail" type="GPUParticles2D" parent="texture" index="1"]
unique_name_in_owner = true
z_index = -1
position = Vector2(-23, 0)
amount = 10
texture = ExtResource("3_7v6qk")
local_coords = true
process_material = SubResource("ParticleProcessMaterial_u2ooq")
+69
View File
@@ -0,0 +1,69 @@
[gd_scene load_steps=8 format=3 uid="uid://chqclu0q4ew46"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_slk7q"]
[ext_resource type="Script" uid="uid://c1ywds8xwerm3" path="res://scripts/Contents/Bullets/Diamond2.gd" id="2_i4qda"]
[ext_resource type="Texture2D" uid="uid://dfptmc7clhtx7" path="res://resources/bullets/diamond/frames/0.svg" id="3_pkqnc"]
[sub_resource type="Animation" id="Animation_pkqnc"]
resource_name = "spawn"
[sub_resource type="Animation" id="Animation_0d4xv"]
resource_name = "loop"
loop_mode = 1
step = 0.05
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0.0, 6.283185307179586]
}
[sub_resource type="Animation" id="Animation_g4uh6"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:rotation")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_v5jve"]
_data = {
&"RESET": SubResource("Animation_g4uh6"),
&"loop": SubResource("Animation_0d4xv"),
&"spawn": SubResource("Animation_pkqnc")
}
[node name="Diamond2" instance=ExtResource("1_slk7q")]
script = ExtResource("2_i4qda")
displayName = "钻石"
lifeTime = 5000.0
autoLoopAnimation = true
[node name="texture" parent="." index="0"]
scale = Vector2(0.6, 0.6)
[node name="animator" parent="texture" index="0"]
libraries = {
&"": SubResource("AnimationLibrary_v5jve")
}
[node name="static" type="Sprite2D" parent="texture" index="1"]
position = Vector2(70, 0)
rotation = 1.5707964
texture = ExtResource("3_pkqnc")
[node name="hitbox" parent="." index="1"]
position = Vector2(43, 0)