Romper una caja
Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 15 de 23.
Cuando caminas hacia una caja, desaparece. Haz que se rompa en astillas. burst.tscn es un CPUParticles2D de astillas de madera que se reproduce una sola vez y se elimina cuando termina.
No añadas el estallido como hijo de la caja. queue_free() elimina un nodo junto con todos sus hijos, así que el estallido desaparecería junto con la caja. Añádelo al padre de la caja, en la posición de esta.
var burst = BURST.instantiate()
burst.position = position
get_parent().add_child(burst)
burst.emitting = true
queue_free()get_parent() es el nodo que está por encima de la caja en el árbol: el nivel. El estallido es un nodo hermano de la caja, así que permanece cuando la caja desaparece.
Desafío
IntermedioHaz que una caja estalle en astillas.
- En
_on_body_entered, crea una explosión conBURST.instantiate()y colócala en lapositionde la caja. - Añádela a
get_parent()y establece suemittingentrue. - Después, elimina la caja.
Pulsa «Jugar» y camina hacia una caja: las astillas salen volando desde donde estaba. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Area2D
const BURST = preload("res://burst.tscn")
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Sensación de juego
Practica por tu cuenta: Playground de Godot