Zmienne, które pamiętają
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 5 z 85.
Unity wywołuje Update() w każdej klatce, a każde wywołanie zaczyna od nowa: zmienna utworzona wewnątrz metody jest usuwana po jej zakończeniu. Dlatego ten licznik nigdy nie przekroczy 1:
void Update()
{
int frames = 0;
frames++;
}frames++ dodaje 1 — to krótszy zapis frames += 1. Jednak w następnej klatce znów wykonywane jest int frames = 0; i liczenie zaczyna się od nowa.
Aby zapamiętać wartość z jednej klatki do następnej, utwórz zmienną wewnątrz klasy, ale poza wszystkimi metodami. Taka zmienna to pole: istnieje tak długo jak obiekt, a każda metoda klasy może jej używać.
int frames = 0;
void Update()
{
frames++;
}Teraz frames wciąż zlicza: 1, 2, 3 i tak dalej — o jeden więcej w każdej klatce.
Wyzwanie
ŁatwySpraw, by roślina rosła dalej.
- Wytnij linię
int frames = 0;z wnętrzaUpdate(). - Wklej ją nad
void Update(), wewnątrz klasy, abyframesstało się polem, które zapamiętuje swoją wartość.
Naciśnij „Graj”: roślina rośnie nieco wyżej w każdej klatce. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Grower : MonoBehaviour
{
void Update()
{
int frames = 0;
frames++;
transform.localScale = new Vector3(1, 1 + frames * 0.01f, 1);
}
}
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