Skip to content

Commit 8f9a4bc

Browse files
committed
Add deadzone and delete obstacles
When obstacles scroll off the left screen, they fall into a new deadzone where we detect the collision and remove them.
1 parent 757f30f commit 8f9a4bc

File tree

1 file changed

+133
-2
lines changed

1 file changed

+133
-2
lines changed

game-06/main.tscn

Lines changed: 133 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[gd_scene load_steps=32 format=3 uid="uid://da28ei7q3d34p"]
1+
[gd_scene load_steps=46 format=3 uid="uid://ci147qf6s6jhg"]
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://2lkjiw4cpjo1" path="res://game-06/graphics/ship.png" id="1_be160"]
@@ -106,6 +106,118 @@ size = Vector2(960, 20)
106106
[sub_resource type="RectangleShape2D" id="RectangleShape2D_be137"]
107107
size = Vector2(71, 419)
108108

109+
[sub_resource type="Resource" id="Resource_on3rr"]
110+
script = ExtResource("8_an3ek")
111+
name = &"queue_free"
112+
children = Array[ExtResource("8_an3ek")]([])
113+
arguments = {}
114+
115+
[sub_resource type="Resource" id="Resource_5aard"]
116+
script = ExtResource("8_an3ek")
117+
name = &"define_method"
118+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_on3rr")])
119+
arguments = {
120+
"method_name": &"delete"
121+
}
122+
123+
[sub_resource type="Resource" id="Resource_skbg6"]
124+
script = ExtResource("7_8cvv3")
125+
root = SubResource("Resource_5aard")
126+
canvas_position = Vector2(125, 100)
127+
128+
[sub_resource type="Resource" id="Resource_tb6g7"]
129+
script = ExtResource("9_a8xal")
130+
script_inherits = "RigidBody2D"
131+
block_serialization_trees = Array[ExtResource("7_8cvv3")]([SubResource("Resource_skbg6")])
132+
variables = Array[ExtResource("10_pjdut")]([])
133+
generated_script = "extends RigidBody2D
134+
135+
136+
func delete():
137+
queue_free()
138+
139+
"
140+
version = 0
141+
142+
[sub_resource type="RectangleShape2D" id="RectangleShape2D_a01j5"]
143+
size = Vector2(63, 572)
144+
145+
[sub_resource type="Resource" id="Resource_v25y3"]
146+
script = ExtResource("9_a8xal")
147+
script_inherits = "CollisionShape2D"
148+
block_serialization_trees = Array[ExtResource("7_8cvv3")]([])
149+
variables = Array[ExtResource("10_pjdut")]([])
150+
generated_script = "extends CollisionShape2D
151+
152+
153+
"
154+
version = 0
155+
156+
[sub_resource type="Resource" id="Resource_atom3"]
157+
script = ExtResource("8_4ctxh")
158+
name = &"area2d_on_entered:something"
159+
arguments = {}
160+
161+
[sub_resource type="Resource" id="Resource_1ehqn"]
162+
script = ExtResource("8_4ctxh")
163+
name = &"is_node_in_group"
164+
arguments = {
165+
"group": "obstacles",
166+
"node": SubResource("Resource_atom3")
167+
}
168+
169+
[sub_resource type="Resource" id="Resource_0mdue"]
170+
script = ExtResource("8_4ctxh")
171+
name = &"area2d_on_entered:something"
172+
arguments = {}
173+
174+
[sub_resource type="Resource" id="Resource_a8ecr"]
175+
script = ExtResource("8_an3ek")
176+
name = &"call_method_node"
177+
children = Array[ExtResource("8_an3ek")]([])
178+
arguments = {
179+
"method_name": "delete",
180+
"node": SubResource("Resource_0mdue")
181+
}
182+
183+
[sub_resource type="Resource" id="Resource_2oej7"]
184+
script = ExtResource("8_an3ek")
185+
name = &"if"
186+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_a8ecr")])
187+
arguments = {
188+
"condition": SubResource("Resource_1ehqn")
189+
}
190+
191+
[sub_resource type="Resource" id="Resource_1o51t"]
192+
script = ExtResource("8_an3ek")
193+
name = &"area2d_on_entered"
194+
children = Array[ExtResource("8_an3ek")]([SubResource("Resource_2oej7")])
195+
arguments = {}
196+
197+
[sub_resource type="Resource" id="Resource_bcpcc"]
198+
script = ExtResource("7_8cvv3")
199+
root = SubResource("Resource_1o51t")
200+
canvas_position = Vector2(25, 50)
201+
202+
[sub_resource type="Resource" id="Resource_acnid"]
203+
script = ExtResource("9_a8xal")
204+
script_inherits = "Area2D"
205+
block_serialization_trees = Array[ExtResource("7_8cvv3")]([SubResource("Resource_bcpcc")])
206+
variables = Array[ExtResource("10_pjdut")]([])
207+
generated_script = "extends Area2D
208+
209+
210+
func _init():
211+
body_entered.connect(_on_body_entered)
212+
213+
func _on_body_entered(something: Node2D):
214+
215+
if ((something).is_in_group('obstacles')):
216+
(something).call('delete')
217+
218+
"
219+
version = 0
220+
109221
[node name="Main" type="Node2D"]
110222

111223
[node name="BackgroundStars" type="Parallax2D" parent="."]
@@ -186,7 +298,7 @@ shape = SubResource("RectangleShape2D_s7voe")
186298
position = Vector2(480, 544)
187299
shape = SubResource("RectangleShape2D_m1jur")
188300

189-
[node name="RigidBody2D" type="RigidBody2D" parent="."]
301+
[node name="RigidBody2D" type="RigidBody2D" parent="." groups=["obstacles"]]
190302
collision_mask = 0
191303
gravity_scale = 0.0
192304
linear_velocity = Vector2(-100, 0)
@@ -204,5 +316,24 @@ shape = SubResource("RectangleShape2D_be137")
204316
position = Vector2(562, 479.5)
205317
shape = SubResource("RectangleShape2D_be137")
206318

319+
[node name="BlockCode" type="Node" parent="RigidBody2D"]
320+
script = ExtResource("6_by3km")
321+
block_script = SubResource("Resource_tb6g7")
322+
207323
[node name="BackgroundMusic" type="AudioStreamPlayer" parent="."]
208324
stream = ExtResource("6_2umo5")
325+
326+
[node name="Deadzone" type="Area2D" parent="."]
327+
position = Vector2(-72, 0)
328+
329+
[node name="CollisionShape2D" type="CollisionShape2D" parent="Deadzone"]
330+
position = Vector2(-32, 276)
331+
shape = SubResource("RectangleShape2D_a01j5")
332+
333+
[node name="BlockCode" type="Node" parent="Deadzone/CollisionShape2D"]
334+
script = ExtResource("6_by3km")
335+
block_script = SubResource("Resource_v25y3")
336+
337+
[node name="BlockCode" type="Node" parent="Deadzone"]
338+
script = ExtResource("6_by3km")
339+
block_script = SubResource("Resource_acnid")

0 commit comments

Comments
 (0)