Browse Source

:sparkles: Simplifie le code de sortie de terrain

Dommage que la detection par zone de corps statiques qui se deplacent ne marche pas en Godot 4.2.
DricomDragon 9 months ago
parent
commit
17a150059e

+ 3 - 1
godot/composants/objets/arene/arene.gd

@@ -8,6 +8,8 @@ signal brique_sortie
 func _quand_zone_exterieure_detecte_entree(corps: Node2D) -> void:
 	if corps is Balle:
 		_traiter_balle_sortie(corps)
+	elif corps is Brique:
+		_traiter_brique_sortie(corps)
 
 
 func _traiter_balle_sortie(balle: Balle) -> void:
@@ -15,5 +17,5 @@ func _traiter_balle_sortie(balle: Balle) -> void:
 	balle_detruite.emit()
 
 
-func _quand_zone_exterieure_detecte_entree_zone(area_rid, area, area_shape_index, local_shape_index) -> void:
+func _traiter_brique_sortie(brique: Brique) -> void:
 	brique_sortie.emit()

+ 0 - 1
godot/composants/objets/arene/arene.tscn

@@ -38,5 +38,4 @@ monitorable = false
 [node name="FormeZone" type="CollisionShape2D" parent="ZoneExterieure"]
 shape = SubResource("RectangleShape2D_u5oj2")
 
-[connection signal="area_shape_entered" from="ZoneExterieure" to="." method="_quand_zone_exterieure_detecte_entree_zone"]
 [connection signal="body_entered" from="ZoneExterieure" to="." method="_quand_zone_exterieure_detecte_entree"]

+ 2 - 15
godot/composants/objets/brique/brique.tscn

@@ -1,12 +1,9 @@
-[gd_scene load_steps=6 format=3 uid="uid://brd8yid3l7wgm"]
+[gd_scene load_steps=5 format=3 uid="uid://brd8yid3l7wgm"]
 
 [ext_resource type="PhysicsMaterial" uid="uid://c6bddricwmcxx" path="res://ressources/materiaux/metal.tres" id="1_exny1"]
 [ext_resource type="Script" path="res://composants/objets/brique/brique.gd" id="2_gkrr0"]
 [ext_resource type="Texture2D" uid="uid://r7iyjvdve5a1" path="res://composants/objets/brique/images/01.png" id="3_72vd6"]
 
-[sub_resource type="RectangleShape2D" id="RectangleShape2D_ong6t"]
-size = Vector2(40, 26)
-
 [sub_resource type="RectangleShape2D" id="RectangleShape2D_tnj5s"]
 size = Vector2(30, 16)
 
@@ -15,21 +12,11 @@ collision_layer = 16
 physics_material_override = ExtResource("1_exny1")
 script = ExtResource("2_gkrr0")
 
-[node name="ZoneInfluence" type="Area2D" parent="."]
-collision_layer = 16
-collision_mask = 20
-monitoring = false
-
-[node name="FormeInfluence" type="CollisionShape2D" parent="ZoneInfluence"]
-visible = false
-position = Vector2(15, 8)
-shape = SubResource("RectangleShape2D_ong6t")
-
 [node name="Image" type="Sprite2D" parent="."]
 texture = ExtResource("3_72vd6")
 centered = false
 
-[node name="FormeRebond" type="CollisionShape2D" parent="."]
+[node name="Forme" type="CollisionShape2D" parent="."]
 visible = false
 position = Vector2(15, 8)
 shape = SubResource("RectangleShape2D_tnj5s")