Menu
CoddyTech

再生が終わったとき

CoddyのGodotジャーニー「ゲームの手触り」セクションの一部。レッスン 22/23。

ホップした後、ロボットは動かなくなります。これは、"hop"がループしないためです。揺れる動きに戻るようにしましょう。

AnimationPlayerは、ループしないアニメーションが最後まで再生されると、animation_finishedシグナルを送信します。このシグナルにはアニメーション名が含まれるため、1つの関数ですべてのアニメーションを処理できます。

func _ready():
	$AnimationPlayer.animation_finished.connect(_on_animation_finished)

func _on_animation_finished(anim_name):
	if anim_name == "hop":
		print("Landed")

body_enteredと同じ方法で接続します。ループするアニメーションは終わらないので、"bob"がシグナルを送信することはありません。

challenge icon

チャレンジ

簡単

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")
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ゲームの手触りのすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド