mirror of
https://github.com/Rundll86/Dog-Lynx-And-HCN.git
synced 2026-07-02 16:22:14 +08:00
修了大激光的dot
This commit is contained in:
@@ -1,263 +1,5 @@
|
|||||||
[gd_scene load_steps=20 format=3 uid="uid://ltqx7fyovhla"]
|
[gd_scene load_steps=2 format=3 uid="uid://ltqx7fyovhla"]
|
||||||
|
|
||||||
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_cqnkd"]
|
[ext_resource type="PackedScene" uid="uid://8gjjfju6p3fh" path="res://components/Bullets/Common/LaserCommoner.tscn" id="1_ukbip"]
|
||||||
[ext_resource type="Script" path="res://scripts/Contents/Bullets/BigLaser.gd" id="2_oqfvl"]
|
|
||||||
[ext_resource type="Shader" path="res://shaders/BigLaser1.gdshader" id="3_f1hf4"]
|
|
||||||
[ext_resource type="Texture2D" uid="uid://dy4op6n6vxef3" path="res://resources/bullets/laser-circle/circle.svg" id="4_hbtg4"]
|
|
||||||
|
|
||||||
[sub_resource type="SpriteFrames" id="SpriteFrames_yip5k"]
|
[node name="BigLaser" instance=ExtResource("1_ukbip")]
|
||||||
|
|
||||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b2oy8"]
|
|
||||||
shader = ExtResource("3_f1hf4")
|
|
||||||
shader_parameter/laser_color = Color(1, 0, 0, 1)
|
|
||||||
shader_parameter/width = 1.0
|
|
||||||
shader_parameter/softness = 0.237
|
|
||||||
shader_parameter/wave_speed = 2.0
|
|
||||||
shader_parameter/wave_frequency = 13.154
|
|
||||||
shader_parameter/wave_amplitude = 1.151
|
|
||||||
shader_parameter/wave_width = 0.032
|
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_m7ued"]
|
|
||||||
_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_iykvy"]
|
|
||||||
curve = SubResource("Curve_m7ued")
|
|
||||||
|
|
||||||
[sub_resource type="Curve" id="Curve_7w1gn"]
|
|
||||||
_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_nimkb"]
|
|
||||||
curve = SubResource("Curve_7w1gn")
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_ki7oc"]
|
|
||||||
colors = PackedColorArray(0.546875, 0.546875, 0.546875, 1, 1, 1, 1, 1)
|
|
||||||
|
|
||||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_csn21"]
|
|
||||||
gradient = SubResource("Gradient_ki7oc")
|
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_krx08"]
|
|
||||||
offsets = PackedFloat32Array(0, 0.450382)
|
|
||||||
colors = PackedColorArray(1, 1, 1, 1, 1, 0, 0, 1)
|
|
||||||
|
|
||||||
[sub_resource type="GradientTexture1D" id="GradientTexture1D_l66oc"]
|
|
||||||
gradient = SubResource("Gradient_krx08")
|
|
||||||
|
|
||||||
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_n3bsp"]
|
|
||||||
particle_flag_disable_z = true
|
|
||||||
emission_shape = 3
|
|
||||||
emission_box_extents = Vector3(0, 1000, 1)
|
|
||||||
angle_min = 1.07288e-05
|
|
||||||
angle_max = 360.0
|
|
||||||
angle_curve = SubResource("CurveTexture_nimkb")
|
|
||||||
spread = 15.0
|
|
||||||
initial_velocity_min = -500.0
|
|
||||||
initial_velocity_max = 500.0
|
|
||||||
gravity = Vector3(0, 0, 0)
|
|
||||||
scale_min = 3.0
|
|
||||||
scale_max = 15.0
|
|
||||||
color_ramp = SubResource("GradientTexture1D_l66oc")
|
|
||||||
color_initial_ramp = SubResource("GradientTexture1D_csn21")
|
|
||||||
alpha_curve = SubResource("CurveTexture_iykvy")
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_ep0ow"]
|
|
||||||
resource_name = "spawn"
|
|
||||||
length = 5.0
|
|
||||||
step = 0.05
|
|
||||||
tracks/0/type = "bezier"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("rect:position:y")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
||||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 50, -0.25, 0, 0.25, 0, 50, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
|
||||||
}
|
|
||||||
tracks/1/type = "bezier"
|
|
||||||
tracks/1/imported = false
|
|
||||||
tracks/1/enabled = true
|
|
||||||
tracks/1/path = NodePath("rect:scale:x")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
|
||||||
}
|
|
||||||
tracks/2/type = "bezier"
|
|
||||||
tracks/2/imported = false
|
|
||||||
tracks/2/enabled = true
|
|
||||||
tracks/2/path = NodePath("circle:rotation")
|
|
||||||
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, 12.5664, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0, 5)
|
|
||||||
}
|
|
||||||
tracks/3/type = "bezier"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("circle:scale:x")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
|
||||||
}
|
|
||||||
tracks/4/type = "bezier"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("circle:scale:y")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
|
||||||
}
|
|
||||||
tracks/5/type = "bezier"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("circle:modulate:a")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
|
||||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -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, 4.5, 5)
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="Animation" id="Animation_1rif1"]
|
|
||||||
length = 0.001
|
|
||||||
tracks/0/type = "bezier"
|
|
||||||
tracks/0/imported = false
|
|
||||||
tracks/0/enabled = true
|
|
||||||
tracks/0/path = NodePath("rect:position:y")
|
|
||||||
tracks/0/interp = 1
|
|
||||||
tracks/0/loop_wrap = true
|
|
||||||
tracks/0/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(0, -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("rect:scale:x")
|
|
||||||
tracks/1/interp = 1
|
|
||||||
tracks/1/loop_wrap = true
|
|
||||||
tracks/1/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -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("circle:rotation")
|
|
||||||
tracks/2/interp = 1
|
|
||||||
tracks/2/loop_wrap = true
|
|
||||||
tracks/2/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0)
|
|
||||||
}
|
|
||||||
tracks/3/type = "bezier"
|
|
||||||
tracks/3/imported = false
|
|
||||||
tracks/3/enabled = true
|
|
||||||
tracks/3/path = NodePath("circle:scale:x")
|
|
||||||
tracks/3/interp = 1
|
|
||||||
tracks/3/loop_wrap = true
|
|
||||||
tracks/3/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0)
|
|
||||||
}
|
|
||||||
tracks/4/type = "bezier"
|
|
||||||
tracks/4/imported = false
|
|
||||||
tracks/4/enabled = true
|
|
||||||
tracks/4/path = NodePath("circle:scale:y")
|
|
||||||
tracks/4/interp = 1
|
|
||||||
tracks/4/loop_wrap = true
|
|
||||||
tracks/4/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0)
|
|
||||||
}
|
|
||||||
tracks/5/type = "bezier"
|
|
||||||
tracks/5/imported = false
|
|
||||||
tracks/5/enabled = true
|
|
||||||
tracks/5/path = NodePath("circle:modulate:a")
|
|
||||||
tracks/5/interp = 1
|
|
||||||
tracks/5/loop_wrap = true
|
|
||||||
tracks/5/keys = {
|
|
||||||
"handle_modes": PackedInt32Array(0),
|
|
||||||
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
|
||||||
"times": PackedFloat32Array(0)
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s7tee"]
|
|
||||||
_data = {
|
|
||||||
"RESET": SubResource("Animation_1rif1"),
|
|
||||||
"spawn": SubResource("Animation_ep0ow")
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_x66th"]
|
|
||||||
radius = 40.0
|
|
||||||
height = 2000.0
|
|
||||||
|
|
||||||
[node name="BigLaser" instance=ExtResource("1_cqnkd")]
|
|
||||||
script = ExtResource("2_oqfvl")
|
|
||||||
fields = {
|
|
||||||
0: 0,
|
|
||||||
1: 25,
|
|
||||||
2: 1
|
|
||||||
}
|
|
||||||
needEnergy = 100.0
|
|
||||||
autoSpawnAnimation = true
|
|
||||||
freeAfterSpawn = true
|
|
||||||
knockback = 10.0
|
|
||||||
|
|
||||||
[node name="texture" parent="." index="0"]
|
|
||||||
sprite_frames = SubResource("SpriteFrames_yip5k")
|
|
||||||
|
|
||||||
[node name="rect" type="ColorRect" parent="texture" index="0"]
|
|
||||||
material = SubResource("ShaderMaterial_b2oy8")
|
|
||||||
offset_left = 233.0
|
|
||||||
offset_right = 333.0
|
|
||||||
offset_bottom = 2000.0
|
|
||||||
rotation = -1.5708
|
|
||||||
scale = Vector2(1e-05, 1)
|
|
||||||
|
|
||||||
[node name="particles" type="GPUParticles2D" parent="texture/rect" index="0"]
|
|
||||||
position = Vector2(50, 1000)
|
|
||||||
amount = 400
|
|
||||||
process_material = SubResource("ParticleProcessMaterial_n3bsp")
|
|
||||||
lifetime = 0.25
|
|
||||||
visibility_rect = Rect2(-100, -1000, 200, 2000)
|
|
||||||
|
|
||||||
[node name="launcher" type="Polygon2D" parent="texture/rect" index="1"]
|
|
||||||
position = Vector2(50, -21)
|
|
||||||
rotation = 1.5708
|
|
||||||
color = Color(1, 0.6, 0, 1)
|
|
||||||
polygon = PackedVector2Array(-50, -25, 0, 0, -50, 25)
|
|
||||||
|
|
||||||
[node name="animator" parent="texture" index="1"]
|
|
||||||
libraries = {
|
|
||||||
"": SubResource("AnimationLibrary_s7tee")
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="circle" type="Sprite2D" parent="texture" index="2"]
|
|
||||||
modulate = Color(1, 1, 1, 0)
|
|
||||||
scale = Vector2(1e-05, 1e-05)
|
|
||||||
texture = ExtResource("4_hbtg4")
|
|
||||||
|
|
||||||
[node name="hitbox" parent="." index="1"]
|
|
||||||
position = Vector2(1234, 0)
|
|
||||||
rotation = 1.5708
|
|
||||||
shape = SubResource("CapsuleShape2D_x66th")
|
|
||||||
|
|||||||
@@ -0,0 +1,263 @@
|
|||||||
|
[gd_scene load_steps=20 format=3 uid="uid://8gjjfju6p3fh"]
|
||||||
|
|
||||||
|
[ext_resource type="PackedScene" uid="uid://crtdkysmnkith" path="res://components/Abstracts/BulletBase.tscn" id="1_f67dy"]
|
||||||
|
[ext_resource type="Script" path="res://scripts/Contents/Bullets/BigLaser.gd" id="2_tdbxh"]
|
||||||
|
[ext_resource type="Shader" path="res://shaders/BigLaser1.gdshader" id="3_km2v1"]
|
||||||
|
[ext_resource type="Texture2D" uid="uid://dy4op6n6vxef3" path="res://resources/bullets/laser-circle/circle.svg" id="4_rs8hf"]
|
||||||
|
|
||||||
|
[sub_resource type="SpriteFrames" id="SpriteFrames_yip5k"]
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b2oy8"]
|
||||||
|
shader = ExtResource("3_km2v1")
|
||||||
|
shader_parameter/laser_color = Color(1, 0, 0, 1)
|
||||||
|
shader_parameter/width = 1.0
|
||||||
|
shader_parameter/softness = 0.237
|
||||||
|
shader_parameter/wave_speed = 2.0
|
||||||
|
shader_parameter/wave_frequency = 13.154
|
||||||
|
shader_parameter/wave_amplitude = 1.151
|
||||||
|
shader_parameter/wave_width = 0.032
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_m7ued"]
|
||||||
|
_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_iykvy"]
|
||||||
|
curve = SubResource("Curve_m7ued")
|
||||||
|
|
||||||
|
[sub_resource type="Curve" id="Curve_7w1gn"]
|
||||||
|
_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_nimkb"]
|
||||||
|
curve = SubResource("Curve_7w1gn")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_ki7oc"]
|
||||||
|
colors = PackedColorArray(0.546875, 0.546875, 0.546875, 1, 1, 1, 1, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_csn21"]
|
||||||
|
gradient = SubResource("Gradient_ki7oc")
|
||||||
|
|
||||||
|
[sub_resource type="Gradient" id="Gradient_krx08"]
|
||||||
|
offsets = PackedFloat32Array(0, 0.450382)
|
||||||
|
colors = PackedColorArray(1, 1, 1, 1, 1, 0, 0, 1)
|
||||||
|
|
||||||
|
[sub_resource type="GradientTexture1D" id="GradientTexture1D_l66oc"]
|
||||||
|
gradient = SubResource("Gradient_krx08")
|
||||||
|
|
||||||
|
[sub_resource type="ParticleProcessMaterial" id="ParticleProcessMaterial_n3bsp"]
|
||||||
|
particle_flag_disable_z = true
|
||||||
|
emission_shape = 3
|
||||||
|
emission_box_extents = Vector3(0, 1000, 1)
|
||||||
|
angle_min = 1.07288e-05
|
||||||
|
angle_max = 360.0
|
||||||
|
angle_curve = SubResource("CurveTexture_nimkb")
|
||||||
|
spread = 15.0
|
||||||
|
initial_velocity_min = -500.0
|
||||||
|
initial_velocity_max = 500.0
|
||||||
|
gravity = Vector3(0, 0, 0)
|
||||||
|
scale_min = 3.0
|
||||||
|
scale_max = 15.0
|
||||||
|
color_ramp = SubResource("GradientTexture1D_l66oc")
|
||||||
|
color_initial_ramp = SubResource("GradientTexture1D_csn21")
|
||||||
|
alpha_curve = SubResource("CurveTexture_iykvy")
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_1rif1"]
|
||||||
|
length = 0.001
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("rect:position:y")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -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("rect:scale:x")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -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("circle:rotation")
|
||||||
|
tracks/2/interp = 1
|
||||||
|
tracks/2/loop_wrap = true
|
||||||
|
tracks/2/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("circle:scale:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("circle:scale:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/path = NodePath("circle:modulate:a")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Animation" id="Animation_ep0ow"]
|
||||||
|
resource_name = "spawn"
|
||||||
|
length = 5.0
|
||||||
|
step = 0.05
|
||||||
|
tracks/0/type = "bezier"
|
||||||
|
tracks/0/imported = false
|
||||||
|
tracks/0/enabled = true
|
||||||
|
tracks/0/path = NodePath("rect:position:y")
|
||||||
|
tracks/0/interp = 1
|
||||||
|
tracks/0/loop_wrap = true
|
||||||
|
tracks/0/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 50, -0.25, 0, 0.25, 0, 50, -0.25, 0, 0.25, 0, 0, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
||||||
|
}
|
||||||
|
tracks/1/type = "bezier"
|
||||||
|
tracks/1/imported = false
|
||||||
|
tracks/1/enabled = true
|
||||||
|
tracks/1/path = NodePath("rect:scale:x")
|
||||||
|
tracks/1/interp = 1
|
||||||
|
tracks/1/loop_wrap = true
|
||||||
|
tracks/1/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
||||||
|
}
|
||||||
|
tracks/2/type = "bezier"
|
||||||
|
tracks/2/imported = false
|
||||||
|
tracks/2/enabled = true
|
||||||
|
tracks/2/path = NodePath("circle:rotation")
|
||||||
|
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, 12.5664, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 5)
|
||||||
|
}
|
||||||
|
tracks/3/type = "bezier"
|
||||||
|
tracks/3/imported = false
|
||||||
|
tracks/3/enabled = true
|
||||||
|
tracks/3/path = NodePath("circle:scale:x")
|
||||||
|
tracks/3/interp = 1
|
||||||
|
tracks/3/loop_wrap = true
|
||||||
|
tracks/3/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
||||||
|
}
|
||||||
|
tracks/4/type = "bezier"
|
||||||
|
tracks/4/imported = false
|
||||||
|
tracks/4/enabled = true
|
||||||
|
tracks/4/path = NodePath("circle:scale:y")
|
||||||
|
tracks/4/interp = 1
|
||||||
|
tracks/4/loop_wrap = true
|
||||||
|
tracks/4/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(1e-05, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1, -0.25, 0, 0.25, 0, 1e-05, -0.25, 0, 0.25, 0),
|
||||||
|
"times": PackedFloat32Array(0, 0.5, 4.5, 5)
|
||||||
|
}
|
||||||
|
tracks/5/type = "bezier"
|
||||||
|
tracks/5/imported = false
|
||||||
|
tracks/5/enabled = true
|
||||||
|
tracks/5/path = NodePath("circle:modulate:a")
|
||||||
|
tracks/5/interp = 1
|
||||||
|
tracks/5/loop_wrap = true
|
||||||
|
tracks/5/keys = {
|
||||||
|
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||||
|
"points": PackedFloat32Array(0, -0.25, 0, 0.25, 0, 1, -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, 4.5, 5)
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="AnimationLibrary" id="AnimationLibrary_s7tee"]
|
||||||
|
_data = {
|
||||||
|
"RESET": SubResource("Animation_1rif1"),
|
||||||
|
"spawn": SubResource("Animation_ep0ow")
|
||||||
|
}
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_x66th"]
|
||||||
|
radius = 40.0
|
||||||
|
height = 2000.0
|
||||||
|
|
||||||
|
[node name="LaserSummoner" instance=ExtResource("1_f67dy")]
|
||||||
|
script = ExtResource("2_tdbxh")
|
||||||
|
fields = {
|
||||||
|
0: 0,
|
||||||
|
1: 25,
|
||||||
|
2: 1
|
||||||
|
}
|
||||||
|
needEnergy = 100.0
|
||||||
|
autoSpawnAnimation = true
|
||||||
|
freeAfterSpawn = true
|
||||||
|
knockback = 10.0
|
||||||
|
|
||||||
|
[node name="texture" parent="." index="0"]
|
||||||
|
sprite_frames = SubResource("SpriteFrames_yip5k")
|
||||||
|
|
||||||
|
[node name="rect" type="ColorRect" parent="texture" index="0"]
|
||||||
|
material = SubResource("ShaderMaterial_b2oy8")
|
||||||
|
offset_left = 233.0
|
||||||
|
offset_right = 333.0
|
||||||
|
offset_bottom = 2000.0
|
||||||
|
rotation = -1.5708
|
||||||
|
scale = Vector2(1e-05, 1)
|
||||||
|
|
||||||
|
[node name="particles" type="GPUParticles2D" parent="texture/rect" index="0"]
|
||||||
|
position = Vector2(50, 1000)
|
||||||
|
amount = 400
|
||||||
|
process_material = SubResource("ParticleProcessMaterial_n3bsp")
|
||||||
|
lifetime = 0.25
|
||||||
|
visibility_rect = Rect2(-100, -1000, 200, 2000)
|
||||||
|
|
||||||
|
[node name="launcher" type="Polygon2D" parent="texture/rect" index="1"]
|
||||||
|
position = Vector2(50, -21)
|
||||||
|
rotation = 1.5708
|
||||||
|
color = Color(1, 0.6, 0, 1)
|
||||||
|
polygon = PackedVector2Array(-50, -25, 0, 0, -50, 25)
|
||||||
|
|
||||||
|
[node name="animator" parent="texture" index="1"]
|
||||||
|
libraries = {
|
||||||
|
"": SubResource("AnimationLibrary_s7tee")
|
||||||
|
}
|
||||||
|
|
||||||
|
[node name="circle" type="Sprite2D" parent="texture" index="2"]
|
||||||
|
modulate = Color(1, 1, 1, 0)
|
||||||
|
scale = Vector2(1e-05, 1e-05)
|
||||||
|
texture = ExtResource("4_rs8hf")
|
||||||
|
|
||||||
|
[node name="hitbox" parent="." index="1"]
|
||||||
|
position = Vector2(1234, 0)
|
||||||
|
rotation = 1.5708
|
||||||
|
shape = SubResource("CapsuleShape2D_x66th")
|
||||||
@@ -1,116 +0,0 @@
|
|||||||
[gd_scene load_steps=9 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"]
|
|
||||||
[ext_resource type="Script" path="res://scripts/Contents/Bullets/Common/LockLauncher.gd" id="2_ropvu"]
|
|
||||||
|
|
||||||
[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, 10, -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, 10, -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, 0.5, -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")
|
|
||||||
}
|
|
||||||
|
|
||||||
[sub_resource type="CircleShape2D" id="CircleShape2D_ts2ht"]
|
|
||||||
radius = 35.0571
|
|
||||||
|
|
||||||
[node name="LaserPluse" instance=ExtResource("1_k5wxk")]
|
|
||||||
z_index = -1
|
|
||||||
script = ExtResource("2_ropvu")
|
|
||||||
target = 1
|
|
||||||
autoSpawnAnimation = true
|
|
||||||
freeAfterSpawn = true
|
|
||||||
|
|
||||||
[node name="texture" parent="." index="0"]
|
|
||||||
sprite_frames = SubResource("SpriteFrames_83opd")
|
|
||||||
|
|
||||||
[node name="animator" parent="texture" index="0"]
|
|
||||||
libraries = {
|
|
||||||
"": SubResource("AnimationLibrary_tbgxn")
|
|
||||||
}
|
|
||||||
|
|
||||||
[node name="hitbox" parent="." index="1"]
|
|
||||||
shape = SubResource("CircleShape2D_ts2ht")
|
|
||||||
@@ -13,12 +13,6 @@ func applyDot():
|
|||||||
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
hitbox.disabled = false
|
hitbox.disabled = false
|
||||||
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
await TickTool.millseconds(100 / launcher.fields[FieldStore.Entity.ATTACK_SPEED])
|
||||||
BulletBase.generate(
|
|
||||||
preload("res://components/Bullets/LaserPluse.tscn"),
|
|
||||||
launcher,
|
|
||||||
position,
|
|
||||||
rotation
|
|
||||||
)
|
|
||||||
return true
|
return true
|
||||||
func succeedToHit(_dmg: float):
|
func succeedToHit(_dmg: float):
|
||||||
fields[FieldStore.Bullet.DAMAGE] *= 1.05
|
fields[FieldStore.Bullet.DAMAGE] *= 1.05
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ func _ready():
|
|||||||
spawnInWhen = Time.get_ticks_msec()
|
spawnInWhen = Time.get_ticks_msec()
|
||||||
spawnInWhere = position
|
spawnInWhere = position
|
||||||
spawn()
|
spawn()
|
||||||
|
dotLoop()
|
||||||
if autoSpawnAnimation:
|
if autoSpawnAnimation:
|
||||||
animator.play("spawn")
|
animator.play("spawn")
|
||||||
await animator.animation_finished
|
await animator.animation_finished
|
||||||
@@ -36,7 +37,6 @@ func _ready():
|
|||||||
destroy()
|
destroy()
|
||||||
if autoLoopAnimation:
|
if autoLoopAnimation:
|
||||||
animator.play("loop")
|
animator.play("loop")
|
||||||
dotLoop()
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
if lifeTime > 0:
|
if lifeTime > 0:
|
||||||
if Time.get_ticks_msec() - spawnInWhen >= lifeTime:
|
if Time.get_ticks_msec() - spawnInWhen >= lifeTime:
|
||||||
|
|||||||
Reference in New Issue
Block a user