Menu
CoddyTech

Quand elle se termine

Fait partie de la section Sensations de jeu du Journey Godot de Coddy. Leçon 22 sur 23.

Après un bond, le robot reste immobile, car "hop" ne boucle pas. Il devrait se remettre à se balancer.

Un AnimationPlayer émet le signal animation_finished lorsqu’une animation qui ne boucle pas atteint sa fin. Le signal contient le nom de l’animation, ce qui permet à une seule fonction de gérer toutes les animations.

func _ready():
	$AnimationPlayer.animation_finished.connect(_on_animation_finished)

func _on_animation_finished(anim_name):
	if anim_name == "hop":
		print("Landed")

Tu le connectes de la même manière que body_entered. Une animation en boucle ne se termine jamais, donc "bob" ne l’émet jamais.

challenge icon

Défi

Facile

Connecte le signal animation_finished de l’AnimationPlayer à une fonction _on_animation_finished(anim_name). Lorsque l’animation terminée est "hop", joue à nouveau "bob".

Essayez vous-même

extends Node2D

func _ready():
	$AnimationPlayer.play("bob")

func _process(delta):
	if Input.is_action_just_pressed("jump"):
		$AnimationPlayer.play("hop")
quiz iconTestez-vous

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