재생이 끝나면
Coddy Godot 여정의 게임의 손맛 섹션에 포함된 레슨. 23개 중 22번째.
한 번 뛰고 나면 로봇은 가만히 서 있습니다. "hop"은 반복되지 않기 때문입니다. 다시 위아래로 움직이도록 해야 합니다.
AnimationPlayer는 반복되지 않는 애니메이션이 끝에 도달하면 animation_finished 신호를 보냅니다. 이 신호에는 애니메이션 이름이 포함되므로, 하나의 함수로 모든 애니메이션을 처리할 수 있습니다.
func _ready():
$AnimationPlayer.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(anim_name):
if anim_name == "hop":
print("Landed")body_entered와 같은 방식으로 연결합니다. 반복되는 애니메이션은 끝나지 않으므로, "bob"은 이 신호를 보내지 않습니다.
챌린지
쉬움AnimationPlayer의 animation_finished 신호를 _on_animation_finished(anim_name) 함수에 연결하세요. 재생이 끝난 애니메이션이 "hop"이면 "bob"을 다시 재생하세요.
직접 해보기
extends Node2D
func _ready():
$AnimationPlayer.play("bob")
func _process(delta):
if Input.is_action_just_pressed("jump"):
$AnimationPlayer.play("hop")
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
게임의 손맛의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드