Skip to content

Commit a80ff9f

Browse files
committed
Add lasers particle emitter
1 parent bc827f2 commit a80ff9f

File tree

2 files changed

+121
-50
lines changed

2 files changed

+121
-50
lines changed

game-06/main.tscn

Lines changed: 26 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
[gd_scene load_steps=41 format=3 uid="uid://da28ei7q3d34p"]
1+
[gd_scene load_steps=39 format=3 uid="uid://da28ei7q3d34p"]
22

33
[ext_resource type="Texture2D" uid="uid://dtref83nk0xpi" path="res://game-06/graphics/alan-labisch-NJpQ85eQJDE-unsplash.jpg" id="1_1fkef"]
44
[ext_resource type="Texture2D" uid="uid://c2kmueth1qo3q" path="res://game-06/graphics/coin.png" id="2_bcxue"]
5-
[ext_resource type="PackedScene" uid="uid://c45vpqedwbvcv" path="res://game-06/ship.tscn" id="3_43t81"]
5+
[ext_resource type="PackedScene" uid="uid://dps3xjhs2ssns" path="res://game-06/ship.tscn" id="3_43t81"]
66
[ext_resource type="Texture2D" uid="uid://sfab1iwfjhyc" path="res://game-06/graphics/obstacle.png" id="3_w1gab"]
77
[ext_resource type="AudioStream" uid="uid://didvrv0ccn5f0" path="res://game-06/Sounds/Cyborg Ninja.mp3" id="6_2umo5"]
88
[ext_resource type="Script" path="res://addons/block_code/block_code_node/block_code.gd" id="6_by3km"]
@@ -12,7 +12,7 @@
1212
[ext_resource type="Script" path="res://addons/block_code/serialization/block_script_serialization.gd" id="9_a8xal"]
1313
[ext_resource type="Script" path="res://addons/block_code/code_generation/variable_definition.gd" id="10_pjdut"]
1414

15-
[sub_resource type="Resource" id="Resource_df0lr"]
15+
[sub_resource type="Resource" id="Resource_pfamd"]
1616
script = ExtResource("8_an3ek")
1717
name = &"simplecharacter_move"
1818
children = Array[ExtResource("8_an3ek")]([])
@@ -21,86 +21,61 @@ arguments = {
2121
"player": "player_1"
2222
}
2323

24-
[sub_resource type="Resource" id="Resource_wyhh8"]
24+
[sub_resource type="Resource" id="Resource_rdkif"]
2525
script = ExtResource("8_4ctxh")
2626
name = &"is_input_actioned"
2727
arguments = {
2828
"action": "just_pressed",
2929
"action_name": &"player_1_a"
3030
}
3131

32-
[sub_resource type="Resource" id="Resource_2vbtj"]
32+
[sub_resource type="Resource" id="Resource_oedh6"]
33+
script = ExtResource("8_4ctxh")
34+
name = &"get_node"
35+
arguments = {
36+
"path": NodePath("Lasers")
37+
}
38+
39+
[sub_resource type="Resource" id="Resource_haer5"]
3340
script = ExtResource("8_an3ek")
34-
name = &"play_sound"
41+
name = &"call_method_node"
3542
children = Array[ExtResource("8_an3ek")]([])
3643
arguments = {
37-
"db": 0.0,
38-
"name": "pew",
39-
"pitch": 2.0
44+
"method_name": "fire",
45+
"node": SubResource("Resource_oedh6")
4046
}
4147

42-
[sub_resource type="Resource" id="Resource_5vgm4"]
48+
[sub_resource type="Resource" id="Resource_4stsk"]
4349
script = ExtResource("8_an3ek")
4450
name = &"if"
45-
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_2vbtj")])
51+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_haer5")])
4652
arguments = {
47-
"condition": SubResource("Resource_wyhh8")
53+
"condition": SubResource("Resource_rdkif")
4854
}
4955

50-
[sub_resource type="Resource" id="Resource_s41wy"]
56+
[sub_resource type="Resource" id="Resource_d3sag"]
5157
script = ExtResource("8_an3ek")
5258
name = &"process"
53-
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_df0lr"), SubResource("Resource_5vgm4")])
59+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_pfamd"), SubResource("Resource_4stsk")])
5460
arguments = {}
5561

56-
[sub_resource type="Resource" id="Resource_wfux0"]
62+
[sub_resource type="Resource" id="Resource_t03h7"]
5763
script = ExtResource("7_8cvv3")
58-
root = SubResource("Resource_s41wy")
64+
root = SubResource("Resource_d3sag")
5965
canvas_position = Vector2(75, 50)
6066

61-
[sub_resource type="Resource" id="Resource_hl2we"]
62-
script = ExtResource("8_an3ek")
63-
name = &"load_sound"
64-
children = Array[ExtResource("8_an3ek")]([])
65-
arguments = {
66-
"file_path": "res://game-06/Sounds/Pew.ogg",
67-
"name": "pew"
68-
}
69-
70-
[sub_resource type="Resource" id="Resource_lsm30"]
71-
script = ExtResource("8_an3ek")
72-
name = &"ready"
73-
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_hl2we")])
74-
arguments = {}
75-
76-
[sub_resource type="Resource" id="Resource_ggdi5"]
77-
script = ExtResource("7_8cvv3")
78-
root = SubResource("Resource_lsm30")
79-
canvas_position = Vector2(75, 475)
80-
8167
[sub_resource type="Resource" id="Resource_313rt"]
8268
script = ExtResource("9_a8xal")
8369
script_inherits = "SimpleCharacter"
84-
block_serialization_trees = Array[ExtResource("7_8cvv3")]([SubResource("Resource_wfux0"), SubResource("Resource_ggdi5")])
70+
block_serialization_trees = Array[ExtResource("7_8cvv3")]([SubResource("Resource_t03h7")])
8571
variables = Array[ExtResource("10_pjdut")]([])
8672
generated_script = "extends SimpleCharacter
8773
8874
8975
func _process(delta):
9076
move_with_player_buttons('player_1', 'top-down', delta)
9177
if (Input.is_action_just_pressed('player_1_a')):
92-
var __sound_node_1 = get_node('pew')
93-
__sound_node_1.volume_db = 0
94-
__sound_node_1.pitch_scale = 2
95-
__sound_node_1.play()
96-
97-
98-
func _ready():
99-
var __sound_1 = AudioStreamPlayer.new()
100-
__sound_1.name = 'pew'
101-
__sound_1.set_stream(load('res://game-06/Sounds/Pew.ogg'))
102-
add_child(__sound_1)
103-
78+
(get_node(\"Lasers\")).call('fire')
10479
10580
"
10681
version = 0
@@ -314,3 +289,5 @@ block_script = SubResource("Resource_v25y3")
314289
[node name="BlockCode" type="Node" parent="Deadzone"]
315290
script = ExtResource("6_by3km")
316291
block_script = SubResource("Resource_acnid")
292+
293+
[editable path="Ship"]

game-06/ship.tscn

Lines changed: 95 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,15 @@
1-
[gd_scene load_steps=6 format=3 uid="uid://c45vpqedwbvcv"]
1+
[gd_scene load_steps=21 format=3 uid="uid://dps3xjhs2ssns"]
22

33
[ext_resource type="Script" path="res://addons/block_code/simple_nodes/simple_character/simple_character.gd" id="1_rrros"]
44
[ext_resource type="Texture2D" uid="uid://dqobtlpqjmouw" path="res://game-06/graphics/engine.svg" id="2_qdvvn"]
55
[ext_resource type="Texture2D" uid="uid://blq8smrhpgtpj" path="res://game-06/graphics/graphics.png" id="3_s1qof"]
6+
[ext_resource type="Script" path="res://addons/block_code/block_code_node/block_code.gd" id="4_i1022"]
7+
[ext_resource type="Script" path="res://addons/block_code/serialization/block_serialization_tree.gd" id="5_8ag0i"]
8+
[ext_resource type="Script" path="res://addons/block_code/serialization/block_serialization.gd" id="6_rpoob"]
9+
[ext_resource type="Script" path="res://addons/block_code/serialization/value_block_serialization.gd" id="7_xmg58"]
10+
[ext_resource type="Script" path="res://addons/block_code/serialization/block_script_serialization.gd" id="8_ui4ru"]
11+
[ext_resource type="Script" path="res://addons/block_code/code_generation/variable_definition.gd" id="9_5ylav"]
12+
[ext_resource type="AudioStream" uid="uid://bm178yv4wvqdn" path="res://game-06/Sounds/Pew.ogg" id="10_vxg6f"]
613

714
[sub_resource type="Curve" id="Curve_j0da6"]
815
_data = [Vector2(0, 0.570571), 0.0, 0.0, 0, 0, Vector2(0.643836, 1), 0.0, 0.0, 0, 0, Vector2(1, 1), 0.0, 0.0, 0, 0]
@@ -12,6 +19,67 @@ point_count = 3
1219
radius = 19.0
1320
height = 70.0
1421

22+
[sub_resource type="Gradient" id="Gradient_dpfi0"]
23+
offsets = PackedFloat32Array(0, 0.06, 0.133333, 1)
24+
colors = PackedColorArray(1, 1, 1, 0.306667, 1, 1, 1, 0.618667, 1, 1, 1, 1, 1, 1, 1, 0)
25+
26+
[sub_resource type="Gradient" id="Gradient_ejn0n"]
27+
interpolation_mode = 1
28+
offsets = PackedFloat32Array(0, 0.126667, 0.293333, 0.426667, 0.593333, 0.76, 0.926667)
29+
colors = PackedColorArray(0.92, 0.092, 0, 1, 0.8932, 0.945778, 0.0653333, 1, 0.263355, 0.97, 0.0679, 1, 0.07, 1, 0.7675, 1, 0.21, 0.460167, 1, 1, 0.535, 0.21725, 0.752, 1, 1, 0.07, 0.504, 1)
30+
31+
[sub_resource type="Resource" id="Resource_fhmvj"]
32+
script = ExtResource("7_xmg58")
33+
name = &"get_node"
34+
arguments = {
35+
"path": NodePath("PewSound")
36+
}
37+
38+
[sub_resource type="Resource" id="Resource_858ys"]
39+
script = ExtResource("6_rpoob")
40+
name = &"call_method_node"
41+
children = Array[ExtResource("6_rpoob")]([])
42+
arguments = {
43+
"method_name": "play",
44+
"node": SubResource("Resource_fhmvj")
45+
}
46+
47+
[sub_resource type="Resource" id="Resource_skg1q"]
48+
script = ExtResource("6_rpoob")
49+
name = &"CPUParticles2D_set_emitting"
50+
children = Array[ExtResource("6_rpoob")]([])
51+
arguments = {
52+
"value": true
53+
}
54+
55+
[sub_resource type="Resource" id="Resource_p5qn8"]
56+
script = ExtResource("6_rpoob")
57+
name = &"define_method"
58+
children = Array[ExtResource("6_rpoob")]([SubResource("Resource_858ys"), SubResource("Resource_skg1q")])
59+
arguments = {
60+
"method_name": &"fire"
61+
}
62+
63+
[sub_resource type="Resource" id="Resource_exer3"]
64+
script = ExtResource("5_8ag0i")
65+
root = SubResource("Resource_p5qn8")
66+
canvas_position = Vector2(50, 50)
67+
68+
[sub_resource type="Resource" id="Resource_quep6"]
69+
script = ExtResource("8_ui4ru")
70+
script_inherits = "CPUParticles2D"
71+
block_serialization_trees = Array[ExtResource("5_8ag0i")]([SubResource("Resource_exer3")])
72+
variables = Array[ExtResource("9_5ylav")]([])
73+
generated_script = "extends CPUParticles2D
74+
75+
76+
func fire():
77+
(get_node(\"PewSound\")).call('play')
78+
emitting = true
79+
80+
"
81+
version = 0
82+
1583
[node name="SimpleCharacter" type="CharacterBody2D" groups=["affected_by_gravity"]]
1684
script = ExtResource("1_rrros")
1785
speed = Vector2(400, 400)
@@ -41,3 +109,29 @@ region_rect = Rect2(338.878, 351.521, 753.301, 389.432)
41109
position = Vector2(3, -4)
42110
rotation = -1.57079
43111
shape = SubResource("CapsuleShape2D_babat")
112+
113+
[node name="Lasers" type="CPUParticles2D" parent="."]
114+
position = Vector2(70, 0)
115+
emitting = false
116+
lifetime = 0.5
117+
one_shot = true
118+
texture = ExtResource("2_qdvvn")
119+
spread = 0.0
120+
gravity = Vector2(-100, 0)
121+
initial_velocity_min = 450.0
122+
initial_velocity_max = 600.0
123+
scale_amount_min = 0.3
124+
scale_amount_max = 0.3
125+
color = Color(1, 0.348495, 0.262113, 1)
126+
color_ramp = SubResource("Gradient_dpfi0")
127+
color_initial_ramp = SubResource("Gradient_ejn0n")
128+
hue_variation_min = -0.5
129+
hue_variation_max = 0.5
130+
131+
[node name="BlockCode" type="Node" parent="Lasers"]
132+
script = ExtResource("4_i1022")
133+
block_script = SubResource("Resource_quep6")
134+
135+
[node name="PewSound" type="AudioStreamPlayer2D" parent="Lasers"]
136+
stream = ExtResource("10_vxg6f")
137+
pitch_scale = 2.0

0 commit comments

Comments
 (0)