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.
20 lines
533 B
GDScript
20 lines
533 B
GDScript
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()
|