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.
Tantangan
MudahArahkan ular dengan tombol panah atau WASD.
- Tambahkan
using UnityEngine.InputSystem;keSnake. - Di bagian atas
Update(), bacaKeyboard.current: tombol panah atas atau W menetapkandirection = Vector3.forward, tombol panah bawah atau S menetapkanVector3.back, tombol panah kiri atau A menetapkanVector3.left, tombol panah kanan atau D menetapkanVector3.right. - 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