Bittiğinde
Coddy'nin Godot Journey'sinin Oyun Hissi bölümünün bir parçası. Ders 22 / 23.
Bir sıçrayıştan sonra robot hareketsiz kalır, çünkü "hop" döngüye girmez. Yeniden sallanması gerekir.
Bir AnimationPlayer, döngüye girmeyen bir animasyon sona ulaştığında animation_finished sinyalini gönderir. Sinyal animasyonun adını taşır, böylece tek bir işlev her animasyonu işleyebilir.
func _ready():
$AnimationPlayer.animation_finished.connect(_on_animation_finished)
func _on_animation_finished(anim_name):
if anim_name == "hop":
print("Landed")Bunu body_entered ile aynı şekilde bağlarsın. Döngüye giren bir animasyon hiç bitmez, bu yüzden "bob" bu sinyali hiç göndermez.
Görev
KolayBir sıçrayıştan sonra robotun yeniden sallanmasını sağla.
_ready()içinde$AnimationPlayer.animation_finishedsinyalini_on_animation_finishedişlevine bağla._on_animation_finished(anim_name)işlevini yaz:anim_namedeğeri"hop"olduğunda"bob"animasyonunu oynat.
“Oyna” düğmesine bas ve Boşluk tuşuna bas: sıçrayıştan sonra robot yeniden sallanır. Ardından “Kontrol et” düğmesine bas.
Kendin dene
extends Node2D
func _ready():
$AnimationPlayer.play("bob")
func _process(delta):
if Input.is_action_just_pressed("jump"):
$AnimationPlayer.play("hop")
Oyun Hissi bölümündeki tüm dersler
Kendi başına pratik yap: Godot playground