Tablice
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 41 z 85.
Tablica przechowuje wiele wartości jednego typu w szeregu. Po nazwie jej typu umieszcza się nawiasy kwadratowe, a wartości zapisuje się w nawiasach klamrowych:
int[] scores = { 10, 25, 7 };Każda wartość ma indeks, czyli swoje miejsce w szeregu, a liczenie zaczyna się od 0: scores[0] to 10, scores[1] to 25, a scores[2] to 7. scores.Length oznacza liczbę wartości — w tym przypadku 3. Odwołanie się do scores[3] zatrzymuje skrypt i zgłasza wyjątek IndexOutOfRangeException: nie ma czwartej wartości.
Pętla for aż do Length odwiedza każdą wartość, niezależnie od zawartości tablicy:
for (int i = 0; i < scores.Length; i++)
{
Debug.Log("Score " + i + ": " + scores[i]);
}Jeśli indeks nie jest potrzebny, foreach jest krótsza: foreach (int s in scores) { Debug.Log(s); } wykonuje się raz dla każdej wartości, po kolei.
Wyzwanie
ŚredniUtwórz panoramę z 7 wież, używając tablicy i pętli.
- Dodaj
6fi2fna końcu tablicyheights:{ 2f, 5f, 3f, 1f, 4f, 6f, 2f }. - Zastąp wiersz
PlaceTowerinstrukcjąfor (int i = 0; i < heights.Length; i++). - Wewnątrz niej wywołaj
PlaceTower(i * 1.5f - 4.5f, heights[i]);.
Naciśnij „Graj”: siedem wież o różnych wysokościach stoi w rzędzie. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class Skyline : MonoBehaviour
{
void Start()
{
float[] heights = { 2f, 5f, 3f, 1f, 4f };
// Umieść po jednej wieży dla każdej wysokości.
PlaceTower(-4.5f, heights[0]);
}
void PlaceTower(float x, float height)
{
GameObject tower = GameObject.CreatePrimitive(PrimitiveType.Cube);
tower.name = "Tower";
tower.transform.position = new Vector3(x, height / 2, 0);
tower.transform.localScale = new Vector3(1, height, 1);
tower.GetComponent<Renderer>().material.color = new Color(0.35f, 0.45f, 0.7f);
}
}
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