Saat Selesai
Termasuk bagian Sensasi Game dalam perjalanan Godot di Coddy. Pelajaran 22 dari 23.
Setelah melompat, robot diam karena "hop" tidak berulang. Robot seharusnya kembali bergerak naik turun.
AnimationPlayer mengirim sinyal animation_finished saat animasi yang tidak berulang mencapai akhir. Sinyal ini membawa nama animasi, sehingga satu fungsi dapat menangani setiap animasi.
func _ready():
$AnimationPlayer.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(anim_name):
if anim_name == "hop":
print("Landed")Kamu menghubungkannya dengan cara yang sama seperti body_entered. Animasi yang berulang tidak pernah berakhir, jadi "bob" tidak pernah mengirimkannya.
Tantangan
MudahHubungkan sinyal animation_finished milik AnimationPlayer ke fungsi _on_animation_finished(anim_name). Saat animasi yang selesai adalah "hop", putar "bob" lagi.
Coba sendiri
extends Node2D
func _ready():
$AnimationPlayer.play("bob")
func _process(delta):
if Input.is_action_just_pressed("jump"):
$AnimationPlayer.play("hop")
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Sensasi Game
Latihan sendiri: Playground Godot