mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-05-28 06:51:54 +08:00
e64a8b2f9f
refactor: 调整角色动画和武器系统 style: 优化代码格式和注释
462 lines
13 KiB
Plaintext
462 lines
13 KiB
Plaintext
[gd_scene load_steps=40 format=3 uid="uid://cvogxi7mktumf"]
|
|
|
|
[ext_resource type="Script" uid="uid://ds3j3f82li68h" path="res://scripts/Statemachine/EntityBase.gd" id="1_mvol6"]
|
|
[ext_resource type="Texture2D" uid="uid://dwwpkn4q07ja2" path="res://icon.svg" id="2_7lpu0"]
|
|
[ext_resource type="AudioStream" uid="uid://cn876dtp1ypqx" path="res://resources/sounds/effect/Collect.wav" id="2_qt0aq"]
|
|
[ext_resource type="PackedScene" uid="uid://dcjqjqere8ets" path="res://components/UI/EntityStateBar.tscn" id="2_uje1g"]
|
|
|
|
[sub_resource type="SpriteFrames" id="SpriteFrames_wcqpm"]
|
|
animations = [{
|
|
"frames": [{
|
|
"duration": 1.0,
|
|
"texture": ExtResource("2_7lpu0")
|
|
}],
|
|
"loop": true,
|
|
"name": &"idle",
|
|
"speed": 5.0
|
|
}, {
|
|
"frames": [],
|
|
"loop": true,
|
|
"name": &"walk",
|
|
"speed": 5.0
|
|
}]
|
|
|
|
[sub_resource type="CircleShape2D" id="CircleShape2D_buhm1"]
|
|
radius = 40.0
|
|
|
|
[sub_resource type="Animation" id="Animation_sxh2u"]
|
|
length = 0.001
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:scale")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(-1, 1)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_vxanw"]
|
|
resource_name = "left"
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:scale")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(-1, 1)]
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_nuh11"]
|
|
resource_name = "left"
|
|
tracks/0/type = "value"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:scale")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"times": PackedFloat32Array(0),
|
|
"transitions": PackedFloat32Array(1),
|
|
"update": 0,
|
|
"values": [Vector2(1, 1)]
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_daot2"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_sxh2u"),
|
|
&"left": SubResource("Animation_vxanw"),
|
|
&"right": SubResource("Animation_nuh11")
|
|
}
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ao5k4"]
|
|
animation = &"left"
|
|
|
|
[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_611yr"]
|
|
animation = &"right"
|
|
|
|
[sub_resource type="AnimationNodeBlendSpace1D" id="AnimationNodeBlendSpace1D_51ube"]
|
|
blend_point_0/node = SubResource("AnimationNodeAnimation_ao5k4")
|
|
blend_point_0/pos = -1.0
|
|
blend_point_1/node = SubResource("AnimationNodeAnimation_611yr")
|
|
blend_point_1/pos = 1.0
|
|
snap = 1.0
|
|
|
|
[sub_resource type="Animation" id="Animation_3wcjn"]
|
|
length = 0.001
|
|
tracks/0/type = "bezier"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:modulate:r")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"handle_modes": PackedInt32Array(0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0)
|
|
}
|
|
tracks/1/type = "bezier"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath(".:modulate:g")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"handle_modes": PackedInt32Array(0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0)
|
|
}
|
|
tracks/2/type = "bezier"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath(".:modulate:b")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"handle_modes": PackedInt32Array(0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0)
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_wl2we"]
|
|
resource_name = "hurt"
|
|
length = 0.4
|
|
step = 0.1
|
|
tracks/0/type = "bezier"
|
|
tracks/0/imported = false
|
|
tracks/0/enabled = true
|
|
tracks/0/path = NodePath(".:modulate:r")
|
|
tracks/0/interp = 1
|
|
tracks/0/loop_wrap = true
|
|
tracks/0/keys = {
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0, 10, -0.2, 0, 0.2, 0, 1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0, 0.2, 0.4)
|
|
}
|
|
tracks/1/type = "bezier"
|
|
tracks/1/imported = false
|
|
tracks/1/enabled = true
|
|
tracks/1/path = NodePath(".:modulate:g")
|
|
tracks/1/interp = 1
|
|
tracks/1/loop_wrap = true
|
|
tracks/1/keys = {
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0, 10, -0.2, 0, 0.2, 0, 1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0, 0.2, 0.4)
|
|
}
|
|
tracks/2/type = "bezier"
|
|
tracks/2/imported = false
|
|
tracks/2/enabled = true
|
|
tracks/2/path = NodePath(".:modulate:b")
|
|
tracks/2/interp = 1
|
|
tracks/2/loop_wrap = true
|
|
tracks/2/keys = {
|
|
"handle_modes": PackedInt32Array(0, 0, 0),
|
|
"points": PackedFloat32Array(1, -0.2, 0, 0.2, 0, 10, -0.2, 0, 0.2, 0, 1, -0.2, 0, 0.2, 0),
|
|
"times": PackedFloat32Array(0, 0.2, 0.4)
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kbmff"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_3wcjn"),
|
|
&"hurt": SubResource("Animation_wl2we")
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_n7kxn"]
|
|
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="Animation" id="Animation_lg0kn"]
|
|
resource_name = "exit"
|
|
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(2, -0.25, 0, 0.25, 0, 1, -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, 1, -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),
|
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0),
|
|
"times": PackedFloat32Array(0, 1)
|
|
}
|
|
|
|
[sub_resource type="Animation" id="Animation_nfj4q"]
|
|
resource_name = "exit"
|
|
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(1, -0.25, 0, 0.25, 0, 2, -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(1, -0.25, 0, 0.25, 0, 0, -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),
|
|
"points": PackedFloat32Array(1, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
|
|
"times": PackedFloat32Array(0, 1)
|
|
}
|
|
|
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_vvkcp"]
|
|
_data = {
|
|
&"RESET": SubResource("Animation_n7kxn"),
|
|
&"enter": SubResource("Animation_lg0kn"),
|
|
&"exit": SubResource("Animation_nfj4q")
|
|
}
|
|
|
|
[sub_resource type="Curve" id="Curve_cs3iy"]
|
|
_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_r5gvu"]
|
|
curve = SubResource("Curve_cs3iy")
|
|
|
|
[sub_resource type="Curve" id="Curve_uf1fy"]
|
|
_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_cofpe"]
|
|
curve = SubResource("Curve_uf1fy")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_nkkgg"]
|
|
colors = PackedColorArray(1, 0, 0, 1, 1, 0.84375, 0, 1)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_j74g5"]
|
|
gradient = SubResource("Gradient_nkkgg")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_m6h1v"]
|
|
colors = PackedColorArray(1, 1, 1, 1, 0, 0, 0, 1)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_j8vyx"]
|
|
gradient = SubResource("Gradient_m6h1v")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_kndb2"]
|
|
particle_flag_disable_z = true
|
|
emission_shape = 1
|
|
emission_sphere_radius = 50.0
|
|
angle_min = 1.07288e-05
|
|
angle_max = 360.0
|
|
angle_curve = SubResource("CurveTexture_cofpe")
|
|
direction = Vector3(-1, 0, 0)
|
|
spread = 15.0
|
|
initial_velocity_max = 100.0
|
|
gravity = Vector3(0, 0, 0)
|
|
scale_min = 5.0
|
|
scale_max = 15.0
|
|
color_ramp = SubResource("GradientTexture1D_j8vyx")
|
|
color_initial_ramp = SubResource("GradientTexture1D_j74g5")
|
|
alpha_curve = SubResource("CurveTexture_r5gvu")
|
|
|
|
[sub_resource type="Curve" id="Curve_bdwpn"]
|
|
_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_vvfxd"]
|
|
curve = SubResource("Curve_bdwpn")
|
|
|
|
[sub_resource type="Curve" id="Curve_kwqoa"]
|
|
_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_065by"]
|
|
curve = SubResource("Curve_kwqoa")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_futl5"]
|
|
colors = PackedColorArray(1, 0, 0, 1, 0.394531, 0, 0, 1)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_4n0se"]
|
|
gradient = SubResource("Gradient_futl5")
|
|
|
|
[sub_resource type="Gradient" id="Gradient_qttew"]
|
|
colors = PackedColorArray(1, 1, 1, 1, 0.597656, 0.597656, 0.597656, 1)
|
|
|
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_joqdg"]
|
|
gradient = SubResource("Gradient_qttew")
|
|
|
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_f3xas"]
|
|
particle_flag_disable_z = true
|
|
angle_min = 1.07288e-05
|
|
angle_max = 360.0
|
|
angle_curve = SubResource("CurveTexture_065by")
|
|
direction = Vector3(-1, 0, 0)
|
|
spread = 180.0
|
|
initial_velocity_max = 150.0
|
|
gravity = Vector3(0, 200, 0)
|
|
scale_min = 3.0
|
|
scale_max = 8.0
|
|
color_ramp = SubResource("GradientTexture1D_joqdg")
|
|
color_initial_ramp = SubResource("GradientTexture1D_4n0se")
|
|
alpha_curve = SubResource("CurveTexture_vvfxd")
|
|
|
|
[sub_resource type="CircleShape2D" id="CircleShape2D_34h7q"]
|
|
|
|
[node name="EntityBase" type="CharacterBody2D"]
|
|
collision_layer = 0
|
|
script = ExtResource("1_mvol6")
|
|
|
|
[node name="weaponStore" type="Node2D" parent="."]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="sounds" type="Node2D" parent="."]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="sprint" type="AudioStreamPlayer2D" parent="sounds"]
|
|
|
|
[node name="heal" type="AudioStreamPlayer2D" parent="sounds"]
|
|
|
|
[node name="miss" type="AudioStreamPlayer2D" parent="sounds"]
|
|
|
|
[node name="hurt" type="AudioStreamPlayer2D" parent="sounds"]
|
|
|
|
[node name="collect" type="AudioStreamPlayer2D" parent="sounds"]
|
|
stream = ExtResource("2_qt0aq")
|
|
|
|
[node name="attack0" type="AudioStreamPlayer2D" parent="sounds"]
|
|
|
|
[node name="texture" type="AnimatedSprite2D" parent="."]
|
|
unique_name_in_owner = true
|
|
position = Vector2(0, -50)
|
|
sprite_frames = SubResource("SpriteFrames_wcqpm")
|
|
animation = &"idle"
|
|
|
|
[node name="hurtbox" type="Area2D" parent="texture"]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="hitbox" type="CollisionShape2D" parent="texture/hurtbox"]
|
|
shape = SubResource("CircleShape2D_buhm1")
|
|
|
|
[node name="animator" type="AnimationPlayer" parent="texture"]
|
|
unique_name_in_owner = true
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_daot2")
|
|
}
|
|
|
|
[node name="animatree" type="AnimationTree" parent="texture/animator"]
|
|
unique_name_in_owner = true
|
|
root_node = NodePath("%animator/..")
|
|
tree_root = SubResource("AnimationNodeBlendSpace1D_51ube")
|
|
anim_player = NodePath("..")
|
|
parameters/blend_position = 1.36
|
|
|
|
[node name="hurtAnimator" type="AnimationPlayer" parent="texture"]
|
|
unique_name_in_owner = true
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_kbmff")
|
|
}
|
|
|
|
[node name="stageAnimator" type="AnimationPlayer" parent="texture"]
|
|
unique_name_in_owner = true
|
|
libraries = {
|
|
&"": SubResource("AnimationLibrary_vvkcp")
|
|
}
|
|
|
|
[node name="weapons" type="Node2D" parent="texture"]
|
|
unique_name_in_owner = true
|
|
|
|
[node name="trailParticle" type="GPUParticles2D" parent="texture"]
|
|
unique_name_in_owner = true
|
|
z_index = -1
|
|
amount = 300
|
|
process_material = SubResource("ParticleProcessMaterial_kndb2")
|
|
|
|
[node name="deadParticle" type="GPUParticles2D" parent="texture"]
|
|
unique_name_in_owner = true
|
|
emitting = false
|
|
amount = 100
|
|
one_shot = true
|
|
explosiveness = 1.0
|
|
process_material = SubResource("ParticleProcessMaterial_f3xas")
|
|
|
|
[node name="statebar" parent="." instance=ExtResource("2_uje1g")]
|
|
unique_name_in_owner = true
|
|
position = Vector2(0, -100)
|
|
|
|
[node name="damageAnchor" type="Node2D" parent="statebar"]
|
|
unique_name_in_owner = true
|
|
position = Vector2(0, -20)
|
|
|
|
[node name="movebox" type="CollisionShape2D" parent="."]
|
|
shape = SubResource("CircleShape2D_34h7q")
|