Menu
CoddyTech

Arahkan

Pelajaran 2 dari 14 dalam kursus Game Unity: Snake 3D di Coddy.

Ular berbelok dengan tombol panah atau WASD. Kamera mengarah ke papan dari tepi depan, jadi arah atas layar sejalan dengan +z, Vector3.forward, dan arah bawah adalah Vector3.back. Vector3.up mengarah ke langit: kepala yang bergerak ke arah itu akan terangkat dari papan.

Belokan terjadi sekali setiap kali tombol ditekan, jadi baca tombol dengan wasPressedThisFrame. Tekanan tombol hanya mengubah direction; Step() tetap menggerakkan kepala pada tick berikutnya:

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

Tombol panah dan hurufnya adalah dua tombol yang digabungkan dengan ||. Keyboard.current bernilai null pada perangkat tanpa keyboard, jadi periksa sekali di bagian atas.

challenge icon

Tantangan

Mudah

Arahkan ular dengan tombol panah atau WASD.

  1. Tambahkan using UnityEngine.InputSystem; ke Snake.
  2. Di bagian atas Update(), baca Keyboard.current: tombol panah atas atau W menetapkan direction = Vector3.forward, tombol panah bawah atau S menetapkan Vector3.back, tombol panah kiri atau A menetapkan Vector3.left, tombol panah kanan atau D menetapkan Vector3.right.
  3. Biarkan Step() seperti semula: kepala berbelok pada tick berikutnya.

Tekan tombol “Main”, klik game dan arahkan ular: kepala berbelok pada langkah berikutnya. Lalu tekan tombol “Periksa”.

Coba sendiri

using UnityEngine;

public class Snake : MonoBehaviour
{
    public float tick = 0.15f;   // detik di antara dua langkah
    private float timer;
    private Vector3 direction = Vector3.right;

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

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

Semua pelajaran di Game Unity: Snake 3D

Latihan sendiri: Playground Unity