Przyciski o nazwach
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 14 z 67.
Oprócz klawiszy Unity ma też przyciski: nazwy wymienione w Input Manager (Edit, Project Settings, Input Manager), z których każda jest powiązana z jednym lub większą liczbą klawiszy. Input.GetButtonDown("Fire1") sprawdza nazwę, a nie klawisz. Nowy projekt zawiera następujące nazwy:
"Jump": spacja"Fire1": lewy Ctrl lub lewy przycisk myszy"Fire2": lewy Alt lub prawy przycisk myszy"Submit"i"Cancel": Enter i Escape
Przyciski gamepada są powiązane z tymi samymi nazwami, a klawisze można zmieniać w Input Manager bez modyfikowania kodu. GetButton, GetButtonDown i GetButtonUp działają podobnie jak GetKey, GetKeyDown i GetKeyUp. Ten blaster rejestruje strzał przy każdym naciśnięciu Ctrl lub kliknięciu:
void Update()
{
if (Input.GetButtonDown("Fire1"))
{
Debug.Log("Shot!");
}
}Nazwa jest ciągiem znaków, więc błędnie wpisana nazwa przejdzie kompilację. Unity wyszukuje ją w chwili wykonania tej linii, a jeśli żaden przycisk nie ma takiej nazwy, zgłasza wyjątek w każdej klatce: ArgumentException: Input Button Fier1 is not setup. Gdy zobaczysz ten komunikat, porównaj nazwę w kodzie z listą w Input Manager.
Wyzwanie
ŁatwyŻaba podskakuje, gdy przycisk Jump jest wciśnięty: naciśnięcie Jump unosi ją raz o hop jednostek, a zwolnienie Jump opuszcza ją z powrotem o tę samą wartość. Kod początkowy już ją unosi, ale powoduje błąd, gdy tylko uruchomisz grę.
Naciśnij Play i przeczytaj błąd w konsoli. Napraw go, dodaj lądowanie po zwolnieniu przycisku, a następnie naciśnij Check.
Spróbuj swoich sił
using UnityEngine;
public class Hopper : MonoBehaviour
{
public float hop = 1.5f;
void Update()
{
if (Input.GetButtonDown("Jumpp"))
{
transform.position += new Vector3(0, hop, 0);
}
}
}
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