Frenle ve Sürükle
Coddy'nin Godot Oyunu: Neon Pisti kursunda ders 3 / 20.
Yukarı tuşunu bırakınca araba sonsuza kadar yuvarlanır. Bunu iki şey düzeltir.
Sürtünme, hareket eden arabayı her karede biraz yavaşlatır. Her saniye hızın yüzde 60'ını azalt:
velocity *= 1.0 - drag * deltaAşağı tuşu da fren yapar. Gazın -1 ile 1 arasında değişmesi için Yukarı ve Aşağı tuşlarını birlikte oku. Araba hâlâ ileri doğru giderken Aşağı, motorun ileri doğru ittiğinden daha güçlü bir şekilde geriye iter. Araba durduktan sonra Aşağı yönü tersine çevirir:
var throttle := Input.get_axis("move_down", "move_up")
if throttle < 0.0 and speed > 10.0:
velocity += forward * throttle * accel * 1.6 * delta
else:
velocity += forward * throttle * accel * deltaGörev
Kolay@export var drag := 0.6ekle.- Gaz değerini yukarıdaki gibi
get_axisile oku. - Hızı artıran satırı if ve else ile değiştir.
limit_lengthöncesinde sürtünmeyi uygula.
Kendin dene
extends Node2D
@export var accel := 260.0
@export var max_speed := 200.0
@export var turn_speed := 3.2
var velocity := Vector2.ZERO
func _physics_process(delta: float) -> void:
var throttle := Input.get_action_strength("move_up")
var steer := Input.get_axis("move_left", "move_right")
var forward := Vector2.RIGHT.rotated(rotation)
var speed := velocity.dot(forward)
velocity += forward * throttle * accel * delta
rotation += steer * turn_speed * delta * clampf(absf(speed) / 90.0, 0.0, 1.0) * signf(speed + 0.01)
velocity = velocity.limit_length(max_speed)
position += velocity * delta
$Exhaust.emitting = throttle > 0.0
Godot Oyunu: Neon Pisti bölümündeki tüm dersler
Kendi başına pratik yap: Godot playground