Yavaş Yavaş Hızlan
Coddy'nin Godot Journey'sinin Girdi ve Hareket bölümünün bir parçası. Ders 18 / 28.
Kahraman bir karede tam hıza ulaşıyor ve bir karede duruyor. Bu, hareketi katı hissettiriyor.
move_toward(from, to, step), from sayısını to yönünde, en fazla step kadar ilerletir ve hedefi asla geçmez. move_toward(0, 220, 15) sonucu 15'tir. Her karede tekrarlandığında 30, 45 ve böylece 220'ye kadar ilerler.
Bunu, tuşların istediği hıza doğru ilerlemek için velocity.x üzerinde kullanın:
var direction = Input.get_axis("move_left", "move_right")
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)acceleration, saniyede kazanılan hızdır; bu nedenle delta ile çarpılır. Değer 900 olduğunda kahraman, yaklaşık saniyenin dörtte birinde 220 hıza ulaşır. Hiçbir tuşa basılı tutulmadığında hedef 0 olur ve kahraman yavaşlayarak durur.
Görev
OrtaKahramanın hızını yumuşak bir şekilde artırıp azalt. Her karede velocity.x değerini, direction * speed hedefine doğru acceleration * delta kadar ilerleyecek şekilde move_toward ile ayarla.
Kendin dene
extends CharacterBody2D
var speed = 220
var acceleration = 900
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Girdi ve Hareket bölümündeki tüm dersler
4Akıcı Hareket
Yavaş Yavaş HızlanSürtünmeHareket Yönüne DönEkran Sınırları İçinde TutHer İki Eksende Sınırla2CharacterBody2D
CharacterBody2DHız ile YürümeDuvarlar Seni DurdururHer Yöne YürümeDengeli Çapraz Hareket5Proje: Platform Oyunu Kahramanı
Kahraman: KoşKahraman: Zıpla3Yerçekimi ve Zıplama
Yerçekimiyle DüşYukarı ZıplaYalnızca YerdenKoş ve ZıplaDeğişken ZıplamaÇift ZıplamaKendi başına pratik yap: Godot playground