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:
19
levels/level.gd
Normal file
19
levels/level.gd
Normal file
@@ -0,0 +1,19 @@
|
||||
extends Node2D
|
||||
|
||||
signal reload_me()
|
||||
|
||||
@onready var map := $TileMap as TileMap
|
||||
@onready var cam := $Princesse/Camera2D as Camera2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
var limits:Rect2 = map.get_used_rect()
|
||||
var size = map.cell_quadrant_size
|
||||
cam.limit_left = limits.position.x * size
|
||||
cam.limit_top = limits.position.y * size
|
||||
cam.limit_right = limits.end.x * size
|
||||
cam.limit_bottom = limits.end.y * size
|
||||
|
||||
|
||||
func _on_princesse_princesse_is_dead() -> void:
|
||||
reload_me.emit()
|
||||
29
levels/level_0.tscn
Normal file
29
levels/level_0.tscn
Normal file
File diff suppressed because one or more lines are too long
25
levels/level_1.tscn
Normal file
25
levels/level_1.tscn
Normal file
@@ -0,0 +1,25 @@
|
||||
[gd_scene load_steps=5 format=3 uid="uid://bmupdjkqacbt6"]
|
||||
|
||||
[ext_resource type="Script" path="res://levels/level.gd" id="1_ree4a"]
|
||||
[ext_resource type="TileSet" uid="uid://cx4160r6lbeb3" path="res://levels/global_tileset.tres" id="1_sdkpd"]
|
||||
[ext_resource type="PackedScene" uid="uid://dv0mokf4eogm7" path="res://princesse.tscn" id="2_p75ky"]
|
||||
[ext_resource type="PackedScene" uid="uid://4pdhps0lgy4o" path="res://items/door.tscn" id="4_mk1ik"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
script = ExtResource("1_ree4a")
|
||||
|
||||
[node name="TileMap" type="TileMap" parent="."]
|
||||
tile_set = ExtResource("1_sdkpd")
|
||||
format = 2
|
||||
layer_0/tile_data = PackedInt32Array(196605, 262145, 2, 196606, 262145, 2, 196607, 196609, 2, 131072, 196609, 2, 131073, 196609, 2, 131074, 262145, 2, 131075, 196609, 2, 131076, 262145, 2, 131077, 196609, 2, 131078, 262145, 2, 131079, 196609, 2, 131080, 262145, 2, 131081, 196609, 2, 131082, 262145, 2, 131083, 196609, 2, 131084, 196609, 2, 196594, 196609, 2, 196595, 262145, 2, 196596, 196609, 2, 196597, 262145, 2, 196598, 196609, 2, 196599, 262145, 2, 196600, 196609, 2, 196601, 262145, 2, 196602, 196609, 2, 196603, 262145, 2, 196604, 196609, 2, 131085, 262145, 2, 131086, 196609, 2, 131087, 262145, 2, 131088, 196609, 2, 131089, 262145, 2, 131090, 196609, 2, 131091, 262145, 2, 131092, 196609, 2, 131093, 262145, 2, 131094, 196609, 2, 131095, 262145, 2, 131096, 196609, 2, 131097, 262145, 2, 131057, 131073, 1, 196593, 65537, 4, 131098, 65537, 4, 65562, 1, 1, 65521, 131073, 1, -15, 131073, 1, -65551, 131073, 1, -131087, 131073, 1, -196623, 131073, 1, -262159, 131073, 1, -327695, 131073, 1, -393231, 131073, 1, -458767, 131073, 1, -524303, 131073, 1, -589839, 131073, 1, -655375, 131073, 1, -720911, 131073, 1, -786447, 131073, 1, -851983, 131073, 1, -917519, 65537, 5, -983055, 65537, 0, -1179663, 65537, 1, -1245199, 65537, 1, -1310735, 65537, 1, -1376270, 65537, 1, -1376269, 65537, 1, -1376268, 65537, 1, -1376267, 65537, 2, -1376266, 65537, 2, -1376265, 65537, 2, -1376264, 65537, 2, -1376263, 65537, 2, -1376262, 65537, 2, -1376261, 65537, 2, -1376260, 65537, 2, -1376259, 65537, 2, -1376258, 65537, 2, -1376257, 65537, 2, -1441792, 65537, 2, -1441791, 65537, 2, -1441790, 65537, 2, -1441789, 65537, 2, -1441788, 65537, 2, -1441787, 65537, 2, -1441786, 65537, 2, -1441785, 65537, 2, -1441784, 65537, 2, -1441783, 65537, 2, -1441782, 65537, 2, -1441781, 65537, 2, -1441780, 65537, 2, -1441779, 65537, 2, -1441778, 65537, 2, -1441777, 65537, 2, -1441776, 65537, 2, -1441775, 65537, 2, -1441774, 65537, 2, -1441773, 65537, 2, -1441772, 65537, 2, -1441771, 65537, 2, -1441770, 65537, 2, -1441769, 65537, 2, -1441768, 65537, 2, -1441767, 65537, 2, -1441766, 65537, 4, 26, 1, 1, -65510, 1, 1, -131046, 1, 1, -196582, 1, 1, -262118, 1, 1, -327654, 1, 1, -393190, 1, 1, -458726, 1, 1, -524262, 1, 1, -589798, 1, 1, -655334, 1, 1, -720870, 1, 1, -786406, 1, 1, -851942, 1, 1, -917478, 1, 1, -983014, 1, 1, -1048550, 1, 1, -1114086, 1, 1, -1179622, 1, 1, -1245158, 1, 1, -1310694, 1, 1, -1376230, 1, 1, -1376271, 65537, 1, 131058, 196610, 5, 131059, 262146, 5, 131060, 327682, 5, 131061, 393218, 5, 131062, 196610, 5, 131063, 262146, 5, 131064, 327682, 5, 131065, 196610, 5, 131066, 262146, 5, 131067, 327682, 5, 131068, 393218, 5, 65539, 196610, 5, 65540, 262146, 5, 65541, 327682, 5, 65542, 393218, 5, 65543, 196610, 5, 65544, 262146, 5, 65545, 327682, 5, 65546, 393218, 5, 65547, 196610, 5, 65548, 262146, 5, 65549, 327682, 5, 65550, 393218, 5, 65551, 196610, 5, 65552, 262146, 5, 65553, 327682, 5, 65554, 393218, 5, 65555, 196610, 5, 65556, 262146, 5, 65557, 327682, 5, 65558, 393218, 5, 65559, 196610, 5, 65560, 262146, 5, 65561, 327682, 5, -983054, 65537, 0, -983053, 65537, 0, -983052, 65537, 0, -983051, 65537, 0, -983050, 65537, 0, -983049, 65537, 0, -983048, 65537, 0, -983047, 65537, 0, -983046, 65537, 0, -983045, 65537, 0, -983044, 65537, 0, -983043, 65537, 0, -983042, 65537, 0, -983041, 65537, 0, -1048576, 65537, 0, -1048575, 65537, 0, -1048574, 65537, 0, -1048573, 65537, 0, -1048572, 65537, 0, -917518, 65537, 5, -917517, 65537, 5, -917516, 65537, 5, -917515, 65537, 5, -917514, 65537, 5, -917513, 65537, 5, -917512, 65537, 5, -917511, 65537, 5, -917510, 65537, 5, -917509, 65537, 5, -917508, 65537, 5, -917507, 65537, 5, -917506, 65537, 5, -917505, 65537, 5, -983040, 65537, 5, -983039, 65537, 5, -983038, 65537, 5, -983037, 65537, 5, -983036, 65537, 5, -1048571, 262145, 0, -983035, 262145, 1, -1179662, 131073, 5, -1245197, 131073, 5, -1310732, 131073, 5, -1310734, 65537, 1, -1310733, 65537, 1, -1245198, 65537, 1)
|
||||
|
||||
[node name="Princesse" parent="." instance=ExtResource("2_p75ky")]
|
||||
position = Vector2(-232, -272)
|
||||
|
||||
[node name="Doors" type="Node" parent="."]
|
||||
|
||||
[node name="Door" parent="Doors" instance=ExtResource("4_mk1ik")]
|
||||
position = Vector2(-244, -267)
|
||||
destination = "level_0"
|
||||
|
||||
[connection signal="princesse_is_dead" from="Princesse" to="." method="_on_princesse_princesse_is_dead"]
|
||||
@@ -1,7 +1,8 @@
|
||||
[gd_scene load_steps=3 format=3 uid="uid://cfou80f4ng1q0"]
|
||||
[gd_scene load_steps=4 format=3 uid="uid://cfou80f4ng1q0"]
|
||||
|
||||
[ext_resource type="TileSet" uid="uid://cx4160r6lbeb3" path="res://levels/global_tileset.tres" id="1_u82x8"]
|
||||
[ext_resource type="PackedScene" uid="uid://bfff6uggijk4k" path="res://items/fromage_normal.tscn" id="3_3jwuu"]
|
||||
[ext_resource type="PackedScene" uid="uid://dv0mokf4eogm7" path="res://princesse.tscn" id="3_cfovy"]
|
||||
|
||||
[node name="Node2D" type="Node2D"]
|
||||
light_mask = 3
|
||||
@@ -80,3 +81,6 @@ position = Vector2(956, 427)
|
||||
|
||||
[node name="Fromage normal12" parent="Node" instance=ExtResource("3_3jwuu")]
|
||||
position = Vector2(999, -136)
|
||||
|
||||
[node name="Princesse" parent="." instance=ExtResource("3_cfovy")]
|
||||
position = Vector2(-238, -7)
|
||||
|
||||
Reference in New Issue
Block a user