Kieruj
Lekcja 2 z 14 w kursie Gra w Unity: Wąż 3D w Coddy.
Wąż skręca za pomocą klawiszy strzałek lub WASD. Kamera patrzy na planszę od strony jej przedniej krawędzi, więc kierunek w górę ekranu to +z, Vector3.forward, a w dół — Vector3.back. Vector3.up wskazuje niebo: głowa poruszana w tym kierunku uniosłaby się nad planszę.
Skręt następuje raz po każdym naciśnięciu, dlatego odczytuj klawisze za pomocą wasPressedThisFrame. Naciśnięcie zmienia tylko direction; Step() nadal przesuwa głowę, przy następnym takcie:
Keyboard keyboard = Keyboard.current;
if (keyboard != null && keyboard.dKey.wasPressedThisFrame)
{
direction = Vector3.right;
}Strzałka i odpowiadająca jej litera to dwa klawisze połączone operatorem ||. Keyboard.current ma wartość null na urządzeniu bez klawiatury, więc sprawdź ją raz na początku.
Wyzwanie
ŁatwySteruj wężem za pomocą strzałek lub klawiszy WASD.
- Dodaj
using UnityEngine.InputSystem;doSnake. - Na początku
Update()odczytajKeyboard.current: strzałka w górę lub W ustawiadirection = Vector3.forward, strzałka w dół lub S —Vector3.back, strzałka w lewo lub A —Vector3.left, strzałka w prawo lub D —Vector3.right. - Pozostaw
Step()bez zmian: głowa skręci przy następnym takcie.
Naciśnij „Graj”, kliknij grę i steruj: głowa skręci przy następnym kroku. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Snake : MonoBehaviour
{
public float tick = 0.15f; // sekundy między dwoma krokami
private float timer;
private Vector3 direction = Vector3.right;
void Update()
{
timer += Time.deltaTime;
if (timer >= tick)
{
timer -= tick;
Step();
}
}
void Step()
{
transform.position += direction;
}
}
Wszystkie lekcje w sekcji Gra w Unity: Wąż 3D
Poćwicz samodzielnie: Edytor online Unity