Menu
CoddyTech

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.

challenge icon

Görev

Kolay

Bir sıçrayıştan sonra robotun yeniden sallanmasını sağla.

  1. _ready() içinde $AnimationPlayer.animation_finished sinyalini _on_animation_finished işlevine bağla.
  2. _on_animation_finished(anim_name) işlevini yaz: anim_name değ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