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()
|
||||
Reference in New Issue
Block a user