Gdy się zakończy
Część sekcji Dopracowanie rozgrywki ścieżki Godot w Coddy. Lekcja 22 z 23.
Po podskoku robot stoi nieruchomo, ponieważ "hop" nie jest zapętlona. Powinien wrócić do kołysania się.
AnimationPlayer wysyła sygnał animation_finished, gdy animacja, która nie jest zapętlona, dobiega końca. Sygnał zawiera nazwę animacji, więc jedna funkcja może obsługiwać każdą animację.
func _ready():
$AnimationPlayer.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(anim_name):
if anim_name == "hop":
print("Landed")Łączysz go w taki sam sposób jak body_entered. Zapętlona animacja nigdy się nie kończy, więc "bob" nigdy go nie wysyła.
Wyzwanie
ŁatwyPołącz sygnał animation_finished obiektu AnimationPlayer z funkcją _on_animation_finished(anim_name). Gdy zakończona animacja to "hop", odtwórz ponownie "bob".
Spróbuj swoich sił
extends Node2D
func _ready():
$AnimationPlayer.play("bob")
func _process(delta):
if Input.is_action_just_pressed("jump"):
$AnimationPlayer.play("hop")
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Dopracowanie rozgrywki
Poćwicz samodzielnie: Edytor online Godot