Sür
Coddy'nin Godot Oyunu: Neon Pisti kursunda ders 1 / 20.
Bu kursta tek bir oyunun tamamını, her derste bir özellik ekleyerek oluşturacaksın: tepeden görünüşlü bir neon yarış oyunu. Parlayan bir pistte üç tur boyunca üç rakip arabayla yarışacaksın.
Proje senin için üç betik içeriyor: arabada car.gd, rakipler için rival.gd ve yarış için race.gd. İki parça daha hazır olarak veriliyor ve görünmüyor: yolu çizen ve yol hakkında soruları yanıtlayan pist ile sahne. Bunları değiştirmen gerekmeyecek.
Bugün araba sürmeyi öğreniyor. Bir velocity değeri tutuyor: her saniye kaç piksel hareket ettiği ve hangi yöne gittiği. Arabanın baktığı yön, rotation değerinin bir yöne dönüştürülmüş hâlidir:
var forward := Vector2.RIGHT.rotated(rotation)Yukarı tuşuna basılı tutulurken hız, o yönde saniyede accel kadar artar. Input.get_action_strength, tuşa basılıyken 1.0, basılı değilken 0.0 değerini verir:
var throttle := Input.get_action_strength("move_up")
velocity += forward * throttle * accel * delta
velocity = velocity.limit_length(max_speed)
position += velocity * deltalimit_length, hızı max_speed değerinde veya altında tutar. Son kareden bu yana geçen saniye olan delta ile çarpmak, hızın hem hızlı hem de yavaş ekranlarda aynı kalmasını sağlar.
Görev
Kolaycar.gddosyasında,_physics_processiçindekipassifadesini yukarıdaki satırlarla değiştir.- Son olarak, araç sürerken egzozun parlamasını sağla:
$Exhaust.emitting = throttle > 0.0. - “Oyna” düğmesine bas ve Yukarı (veya W) tuşunu basılı tut.
Kendin dene
extends Node2D
@export var accel := 260.0
@export var max_speed := 200.0
var velocity := Vector2.ZERO
func _physics_process(delta: float) -> void:
pass # drive here
Godot Oyunu: Neon Pisti bölümündeki tüm dersler
Kendi başına pratik yap: Godot playground