Menu
CoddyTech

Kahraman: Akıcı Koş

Coddy'nin Godot Journey'sinin Girdi ve Hareket bölümünün bir parçası. Ders 25 / 28.

Kahraman tek bir karede hızlanıp duruyor. acceleration ile hızlanmasını ve friction ile durmasını sağla:

var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
	velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
	velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)

1200 değerinde bir acceleration ve 2400 değerinde bir friction kullan. Kahraman yaklaşık saniyenin beşte birinde tam hıza ulaşır, böylece çukura doğru koşmak için hâlâ zamanı olur.

challenge icon

Görev

Orta

Kahramanın hızlanmasını ve yumuşakça durmasını sağla.

  1. var acceleration = 1200 ve var friction = 2400 ekle.
  2. Ekseni var direction içinde sakla. Hiçbir tuşa basılı değilken, velocity.x değerini friction * delta kadar 0 değerine doğru move_toward ile yaklaştır.
  3. Bir tuşa basılıyken, direction * speed değerine acceleration * delta kadar move_toward ile yaklaştır.

“Oyna” düğmesine bas: kahraman hız kazanır, durduğunda biraz kayar ve çukuru aşar. Ardından “Kontrol et” düğmesine bas.

Kendin dene

extends CharacterBody2D

var speed = 220
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()

Girdi ve Hareket bölümündeki tüm dersler

Kendi başına pratik yap: Godot playground