Osie
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 13 z 67.
Input.GetAxis("Horizontal") zamienia strzałki w lewo i w prawo (oraz A i D) na jedną liczbę z zakresu od -1 do 1: -1 dla ruchu w lewo, 1 dla ruchu w prawo, 0 dla żadnego z tych kierunków. Input.GetAxis("Vertical") robi to samo dla strzałek w dół i w górę (S i W). Jedno wywołanie zastępuje dwa if, a drążek gamepada steruje tymi samymi osiami bez dodatkowego kodu.
Liczba nie zmienia się skokowo. Przy domyślnych ustawieniach Unity zmienia się w kierunku wartości docelowej z szybkością 3 na sekundę, więc po naciśnięciu potrzeba jednej trzeciej sekundy, aby osiągnąć 1, a po puszczeniu kolejnej jednej trzeciej sekundy, aby wrócić do 0. Dzięki temu stopniowemu przejściu poduszkowiec łagodnie przyspiesza i wyhamowuje:
public float speed = 5f;
void Update()
{
float h = Input.GetAxis("Horizontal");
transform.position += new Vector3(h * speed * Time.deltaTime, 0, 0);
}Input.GetAxisRaw("Horizontal") pomija stopniowe przejście: w każdej klatce zwraca dokładnie -1, 0 lub 1, więc ruch zaczyna się i zatrzymuje od razu. Używaj GetAxis w przypadku elementów, które powinny sprawiać wrażenie ciężkich, a GetAxisRaw do precyzyjnego sterowania. Gdy oba kierunki są wciśnięte, każda z tych metod zwraca 0, ponieważ kierunki się znoszą. (W projekcie Unity 6 ustawienie Active Input Handling z sekcji Sterowanie klawiszami dotyczy również osi.)
Wyzwanie
ŁatwyPojazd powinien reagować natychmiast, bez płynnego przyspieszania: strzałki (lub WASD) poruszają nim z prędkością speed jednostek na sekundę, w lewo i w prawo wzdłuż osi x, w górę i w dół wzdłuż osi z. Porusza się z pełną prędkością od momentu naciśnięcia klawisza i zatrzymuje się natychmiast po jego zwolnieniu.
Naciśnij Play, kliknij grę i steruj pojazdem, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Rover : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Horizontal steruje ruchem wzdłuż osi x, a Vertical wzdłuż osi z, bez wygładzania.
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła