Oyun Tahtası
Coddy'nin Unity Oyunu: 3D Yılan kursunda ders 1 / 14.
Bu kursta 3B Yılan oyununu yapacaksın: yukarıdan görülen 15'e 15'lik bir tahtada küplerden oluşan bir yılan. Yılan her seferinde bir hücre ilerler, ok tuşlarıyla veya WASD ile döner, yer, büyür ve duvarlara ya da kendi kuyruğuna çarptığında ölür. Snake başı yönetir; yiyecek gelene kadar GameManager boş kalır. “Oyna” oyunu başlatır; “Kontrol et” kodunu değerlendirir.
Hücreler bir birim genişliğindedir ve -7 ile 7 arasındaki tam sayı koordinatlarında yer alır. Yılan asla kayarak ilerlemez: sabit aralıklı bir vuruş olan adımda bir hücre ilerler ve arada hareketsiz kalır. Bu vuruş bir zamanlayıcıdır: her karede Time.deltaTime değerini ekle ve vuruş aralığına ulaştığında harekete geçip vuruş aralığını çıkar:
timer += Time.deltaTime;
if (timer >= 0.5f)
{
timer -= 0.5f;
Step();
}Zamanlayıcıyı 0'a ayarlamak yerine vuruş aralığını çıkarmak, vuruş aralığını aşan kare süresinin bir kısmını korur; böylece vuruşlar gecikmez. Bir sayı yerine tick alanını kullan.
Görev
KolayBaşın her zaman adımında bir hücre ilerlemesini sağla.
Snakeiçineprivate float timer;ekle.Update()içindeTime.deltaTimedeğerini timer’a ekle;timer >= tickolduğunda timer’dan tick değerini çıkar veStep()çağır.Step()içindedirectiondeğerinitransform.positiondeğerine ekle.
“Oyna” düğmesine bas: baş şimdilik tahta dışına doğru, hücre hücre sağa ilerler. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class Snake : MonoBehaviour
{
public float tick = 0.15f; // iki adım arasındaki saniye cinsinden süre
private Vector3 direction = Vector3.right;
void Update()
{
// Her tick saniyede bir Step() çağır
}
void Step()
{
// Başı direction doğrultusunda bir hücre ilerlet
}
}
Unity Oyunu: 3D Yılan bölümündeki tüm dersler
Kendi başına pratik yap: Unity playground