Menu
CoddyTech

Yönlendir

Coddy'nin Unity Oyunu: 3D Yılan kursunda ders 2 / 14.

Yılan, ok tuşları veya WASD ile döner. Kamera tahtaya ön kenardan bakar; bu nedenle ekranın yukarısı +z yönündedir, Vector3.forward, aşağısı ise Vector3.back yönündedir. Vector3.up gökyüzünü gösterir: yılanın başı bu yönde hareket ettirilirse tahtadan yükselir.

Her basışta bir kez dönülür; bu nedenle tuş basışlarını wasPressedThisFrame ile oku. Basış yalnızca direction değerini değiştirir; Step() başı bir sonraki tikte hareket ettirmeye devam eder:

Keyboard keyboard = Keyboard.current;
if (keyboard != null && keyboard.dKey.wasPressedThisFrame)
{
    direction = Vector3.right;
}

Ok tuşu ile ona karşılık gelen harf, || ile birleştirilen iki tuştur. Klavyesi olmayan bir aygıtta Keyboard.current null olur; bu nedenle bunu en başta bir kez kontrol et.

challenge icon

Görev

Kolay

Yılanı ok tuşları veya WASD ile yönlendir.

  1. Snake içine using UnityEngine.InputSystem; ekle.
  2. Update() metodunun başında Keyboard.current değerini oku: yukarı veya W, direction = Vector3.forward değerini; aşağı veya S, Vector3.back değerini; sol veya A, Vector3.left değerini; sağ veya D, Vector3.right değerini ayarlar.
  3. Step() metodunu olduğu gibi bırak: kafa bir sonraki adımda döner.

“Oyna” düğmesine bas, oyuna tıkla ve yılanı yönlendir: kafa bir sonraki adımda döner. 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 float timer;
    private Vector3 direction = Vector3.right;

    void Update()
    {
        timer += Time.deltaTime;
        if (timer >= tick)
        {
            timer -= tick;
            Step();
        }
    }

    void Step()
    {
        transform.position += direction;
    }
}

Unity Oyunu: 3D Yılan bölümündeki tüm dersler

Kendi başına pratik yap: Unity playground