Menu
CoddyTech

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 * delta

limit_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.

challenge icon

Görev

Kolay
  1. car.gd dosyasında, _physics_process içindeki pass ifadesini yukarıdaki satırlarla değiştir.
  2. Son olarak, araç sürerken egzozun parlamasını sağla: $Exhaust.emitting = throttle > 0.0.
  3. “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