Przyciski z nazwami
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 21 z 85.
Oprócz klawiszy Unity ma też przyciski: nazwy wymienione w Input Manager (Edit, Project Settings, Input Manager), z których każda jest przypisana do jednego lub kilku klawiszy. Input.GetButtonDown("Fire1") pyta o nazwę, a nie o klawisz. Nowy projekt zawiera te przyciski:
"Jump": spacja"Fire1": lewy Ctrl lub lewy przycisk myszy"Fire2": lewy Alt lub prawy przycisk myszy"Submit"i"Cancel": Enter i Escape
Przyciski pada są przypisane do tych samych nazw, a klawisze można zmieniać w Input Manager bez modyfikowania kodu. GetButton, GetButtonDown i GetButtonUp działają tak jak GetKey, GetKeyDown i GetKeyUp. Ten blaster zapisuje strzał po 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 nadal się kompiluje. Unity wyszukuje ją podczas wykonywania wiersza, 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
ŁatwyNapraw podskok żaby i spraw, by znów lądowała.
- Naciśnij „Graj”: w konsoli pojawi się błąd dotyczący przycisku
"Jumpp". Zmień go na"Jump". - Dodaj drugi warunek
ifdlaInput.GetButtonUp("Jump"), który odejmujenew Vector3(0, hop, 0)odtransform.position.
Naciśnij „Graj”, przytrzymaj spację i puść ją: żaba podskoczy, a potem wyląduje. Następnie naciśnij „Sprawdź”.
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);
}
}
}
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Podstawy C# w Unity
Witaj, UnityZmienneLiczby dziesiętne wymagają fTekst w konsoliZmienne, które pamiętająIf i elsePorównywanie liczbPowtórka: Zbieracz monet4Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski z nazwamiPrzyciski myszyPowtórka: naładowany skok7Pętle i metody
Powtarzaj za pomocą forPętle wewnątrz pętliNapisz metodęMetody, które zwracają wynikTablicePowtórka: schody10Wyszukiwanie obiektów
Wyszukiwanie po nazwieTagiWyszukiwanie po typieReferencje lepsze niż wyszukiwanieNull w UnityPowtórka: najbliższa moneta13Projekt: Unikaj bloków
BiegaczBloki z nieba2Wpraw to w ruch
Umieść sześcianPoruszaj w każdej klatceObracaj co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian5Wektory
Dodawanie wektorówKierunkiPrzestrzeń lokalna i globalnaPrędkość po przekątnejOdległość między obiektamiVector3 to strukturaPodsumowanie: pilot drona8Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePowtórka: włącznik światłaPoćwicz samodzielnie: Edytor online Unity