재생이 끝나면
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"은 이 신호를 보내지 않습니다.
챌린지
쉬움도약한 후 로봇이 다시 위아래로 움직이게 하세요.
_ready()에서$AnimationPlayer.animation_finished를_on_animation_finished에 연결하세요._on_animation_finished(anim_name)을 작성하세요.anim_name이"hop"이면"bob"을 재생하세요.
‘플레이’를 누르고 Space를 누르세요. 도약한 후 로봇이 다시 위아래로 움직입니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends Node2D
func _ready():
$AnimationPlayer.play("bob")
func _process(delta):
if Input.is_action_just_pressed("jump"):
$AnimationPlayer.play("hop")
게임의 손맛의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드