Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Połą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")
quiz iconSprawdź się

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