Sürtünme
Coddy'nin Godot Journey'sinin Girdi ve Hareket bölümünün bir parçası. Ders 19 / 28.
Çoğu oyun karakteri, hızlanmaya başladığından daha hızlı durur. Tuşa basılı tutulmadığında yavaşlamaya sürtünme denir.
Durmak için farklı bir sayı kullanmak üzere kodun iki yolu olması gerekir. else, if ifadesine ikinci bir yol ekler ve bu iki yoldan yalnızca biri çalışır:
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)==, iki değerin eşit olup olmadığını kontrol eder. Tek bir = değişkene değer atar. Tuşa basılı tutulmadığında direction == 0 doğru olur.
300 gibi küçük bir friction değeri, buz üzerindeymiş gibi kaydırır. 2400 gibi büyük bir değer ise birkaç karede durdurur.
Görev
OrtaKarakterin hızlıca durmasını sağla. Hiçbir tuş basılı değilken, her karede friction * delta kadar azaltarak velocity.x değerini 0’a düşür. Bir tuş basılıyken acceleration ile hızlanmaya devam et.
Kendin dene
extends CharacterBody2D
var speed = 220
var acceleration = 900
var friction = 2400
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
var direction = Input.get_axis("move_left", "move_right")
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)
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