niveau: avoir des niveaux indépendants
Il est maintenant possible d'avoir des niveaux indépendants et de switcher de l'un à l'autre en utilisant une porte. La porte doit indiquer le nom du niveau suivant et ensuite dans game.gd un mapping statique permet de passer d'un niveau à l'autre. Les limitations actuelles et la todo liste: - La princesse spawn toujours au même endroit, elle devrait spawner par la porte qui l'a fait venir et bien sur dans la carte pas dans le vide à côté. - On perds l'état du niveau quand on meurt, il faut que ça change dans le futur, c'est pas préssé ceci dit. - Le niveau devrait s'inscire automatiquement à l'événement de mort de la princesse pour pas oublier de le faire à chaque fois. En tout cas, ce chantier va permettre de travailler des niveaux indépendament les uns des autres et paralléliser si on veut être plusieurs à tweaker en parallèle.
This commit is contained in:
10
items/door.gd
Normal file
10
items/door.gd
Normal file
@@ -0,0 +1,10 @@
|
||||
extends Area2D
|
||||
|
||||
@export var destination := ""
|
||||
signal door_openned(where)
|
||||
var openned = false
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if not openned:
|
||||
openned = true
|
||||
door_openned.emit(destination)
|
||||
16
items/door.tscn
Normal file
16
items/door.tscn
Normal file
@@ -0,0 +1,16 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://4pdhps0lgy4o"]
|
||||
|
||||
[ext_resource type="Script" path="res://items/door.gd" id="1_6vj5d"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_n7rh8"]
|
||||
size = Vector2(9.875, 26)
|
||||
|
||||
[node name="Door" type="Area2D"]
|
||||
collision_layer = 128
|
||||
script = ExtResource("1_6vj5d")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="."]
|
||||
position = Vector2(-1.0625, -2)
|
||||
shape = SubResource("RectangleShape2D_n7rh8")
|
||||
|
||||
[connection signal="body_entered" from="." to="." method="_on_body_entered"]
|
||||
Reference in New Issue
Block a user