1
1
mirror of https://github.com/Rundll86/Dog-Lynx-And-HCN.git synced 2026-06-10 21:57:12 +08:00

feat(特效): 为BigLaser添加动画效果并调整参数

- 在BigLaser生成时播放"bigLaser"动画
- 增加激光的尺寸和碰撞范围
- 添加BigLaser粒子效果场景
- 调整Wave生成参数
- 在CameraManager中添加动画播放功能
This commit is contained in:
2025-08-28 12:00:09 +08:00
parent 0c1ce5b4e2
commit 19a484643d
8 changed files with 220 additions and 9 deletions
+6 -6
View File
@@ -13,8 +13,8 @@ shader_parameter/laser_width = 0.01
shader_parameter/soft_edge = 0.5
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_y85id"]
radius = 40.0
height = 1000.0
radius = 60.0
height = 2000.0
[node name="BigLaser" instance=ExtResource("1_cqnkd")]
script = ExtResource("2_oqfvl")
@@ -32,11 +32,11 @@ sprite_frames = SubResource("SpriteFrames_yip5k")
[node name="rect" type="ColorRect" parent="texture" index="0"]
material = SubResource("ShaderMaterial_5n8cv")
offset_left = -40.0
offset_top = -1000.0
offset_right = 40.0
offset_left = -60.0
offset_top = -2000.0
offset_right = 60.0
[node name="hitbox" parent="." index="1"]
position = Vector2(500, 0)
position = Vector2(1000, 0)
rotation = 1.5708
shape = SubResource("CapsuleShape2D_y85id")
+104
View File
@@ -0,0 +1,104 @@
[gd_scene load_steps=7 format=3 uid="uid://bx4guw2vkxgw4"]
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_k5wxk"]
[ext_resource type="Texture2D" uid="uid://ry8d7pst4ihf" path="res://resources/bullets/laser-pluse/frames/ball-a.svg" id="2_ob1rp"]
[sub_resource type="SpriteFrames" id="SpriteFrames_83opd"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": ExtResource("2_ob1rp")
}],
"loop": true,
"name": &"default",
"speed": 5.0
}]
[sub_resource type="Animation" id="Animation_hjoni"]
resource_name = "spawn"
step = 0.1
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:scale:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 1)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:scale:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 3, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 1)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate:a")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0, 0, 0),
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.5, 1)
}
[sub_resource type="Animation" id="Animation_s367m"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:scale:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:scale:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/2/type = "bezier"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".:modulate:a")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_tbgxn"]
_data = {
"RESET": SubResource("Animation_s367m"),
"spawn": SubResource("Animation_hjoni")
}
[node name="LaserPluse" instance=ExtResource("1_k5wxk")]
[node name="texture" parent="." index="0"]
sprite_frames = SubResource("SpriteFrames_83opd")
[node name="animator" parent="texture" index="0"]
libraries = {
"": SubResource("AnimationLibrary_tbgxn")
}
+65 -1
View File
@@ -1,4 +1,4 @@
[gd_scene load_steps=6 format=3 uid="uid://dmxi1ikn6avig"]
[gd_scene load_steps=9 format=3 uid="uid://dmxi1ikn6avig"]
[ext_resource type="Script" path="res://scripts/Tools/WorldManager.gd" id="1_lxsxj"]
[ext_resource type="PackedScene" uid="uid://dfwg750a47ggx" path="res://components/Scenes/UI.tscn" id="2_04cdd"]
@@ -6,6 +6,64 @@
[ext_resource type="Script" path="res://scripts/Tools/CameraManager.gd" id="5_mk7bv"]
[ext_resource type="Texture2D" uid="uid://ckk8kahhof06u" path="res://resources/maps/Castle 2.png" id="6_p0nkj"]
[sub_resource type="Animation" id="Animation_kii8h"]
resource_name = "bigLaser"
length = 5.0
step = 0.1
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:zoom:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.5, 3)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:zoom:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0, 0, 0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 2, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0, 0.5, 3)
}
[sub_resource type="Animation" id="Animation_ykpvi"]
length = 0.001
tracks/0/type = "bezier"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:zoom:x")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
tracks/1/type = "bezier"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".:zoom:y")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"handle_modes": PackedInt32Array(0),
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0),
"times": PackedFloat32Array(0)
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_44ixa"]
_data = {
"RESET": SubResource("Animation_ykpvi"),
"bigLaser": SubResource("Animation_kii8h")
}
[node name="world" type="Node2D"]
y_sort_enabled = true
script = ExtResource("1_lxsxj")
@@ -25,3 +83,9 @@ offset = Vector2(0, -80)
process_callback = 0
position_smoothing_enabled = true
script = ExtResource("5_mk7bv")
[node name="animator" type="AnimationPlayer" parent="camera"]
unique_name_in_owner = true
libraries = {
"": SubResource("AnimationLibrary_44ixa")
}