Casser une caisse
Fait partie de la section Sensations de jeu du Journey Godot de Coddy. Leçon 15 sur 23.
Quand tu fonces dans une caisse, elle disparaît. Fais plutôt en sorte qu’elle éclate en échardes. burst.tscn est un CPUParticles2D à émission unique composé d’échardes de bois, qui se supprime une fois terminé.
N’ajoute pas l’effet d’éclatement comme enfant de la caisse. queue_free() supprime un nœud ainsi que tous ses enfants, donc l’effet d’éclatement disparaîtrait avec la caisse. Ajoute-le au parent de la caisse, à la position de celle-ci.
var burst = BURST.instantiate()
burst.position = position
get_parent().add_child(burst)
burst.emitting = true
queue_free()get_parent() désigne le nœud situé juste au-dessus de la caisse dans l’arborescence, c’est-à-dire le niveau. L’effet d’éclatement est un nœud frère de la caisse, il reste donc quand celle-ci disparaît.
Défi
MoyenFais éclater une caisse en éclats.
- Dans
_on_body_entered, crée une explosion avecBURST.instantiate()et place-la à lapositionde la caisse. - Ajoute-la à
get_parent()et définis sonemittingsurtrue. - Ensuite, supprime la caisse.
Appuie sur « Jouer » et fonce dans une caisse : des éclats volent à l’endroit où elle se trouvait. Puis appuie sur « Vérifier ».
Essayez vous-même
extends Area2D
const BURST = preload("res://burst.tscn")
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Sensations de jeu
Entraînez-vous par vous-même : Playground Godot