Menu
CoddyTech

Quando termina

Fa parte della sezione Sensazioni di gioco del percorso Godot di Coddy. Lezione 22 di 23.

Dopo un saltello, il robot resta fermo, perché "hop" non si ripete in ciclo. Dovrebbe tornare a dondolare.

Un AnimationPlayer invia il segnale animation_finished quando un'animazione che non si ripete in ciclo raggiunge la fine. Il segnale contiene il nome dell'animazione, quindi una funzione può gestire ogni animazione.

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

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

Lo colleghi nello stesso modo di body_entered. Un'animazione in ciclo non termina mai, quindi "bob" non lo invia mai.

challenge icon

Sfida

Facile

Collega il segnale animation_finished di AnimationPlayer alla funzione _on_animation_finished(anim_name). Quando l’animazione terminata è "hop", riproduci di nuovo "bob".

Provalo tu

extends Node2D

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

func _process(delta):
	if Input.is_action_just_pressed("jump"):
		$AnimationPlayer.play("hop")
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Sensazioni di gioco

Esercitati da solo: Playground Godot