Pętle wewnątrz pętli
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 38 z 85.
Jeden wiersz wymaga jednej pętli. Całe piętro, czyli wiersze i kolumny, wymaga pętli wewnątrz pętli:
for (int column = 0; column < 3; column++)
{
for (int row = 0; row < 2; row++)
{
Debug.Log(column + ", " + row);
}
}Przy każdym przebiegu pętli zewnętrznej pętla wewnętrzna wykonuje się do końca. W efekcie wypisuje 0, 0 i 0, 1, potem 1, 0 i 1, 1, a następnie 2, 0 i 2, 1: 3 kolumny razy 2 wiersze, łącznie 6 linii.
Obie pętle potrzebują liczników o różnych nazwach. Tutaj nazwano je zgodnie z tym, co zliczają: column i row. Dzięki temu kod jest łatwiejszy do odczytania niż w przypadku nazw i i j.
Wyzwanie
ŚredniUłóż podłogę z 12 płytek: 4 kolumny, 3 wiersze.
- W
Start()zastąpPlaceTile(0, 0);przezfor (int column = 0; column < 4; column++). - W nawiasach klamrowych tej pętli napisz
for (int row = 0; row < 3; row++)i wywołajPlaceTile(column, row);wewnątrz tej pętli.
Naciśnij „Graj”: pojawi się podłoga z 4 na 3 płytek. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
using UnityEngine;
public class TileFloor : MonoBehaviour
{
void Start()
{
// Ułóż płytki w 4 kolumnach i 3 rzędach.
PlaceTile(0, 0);
}
void PlaceTile(int column, int row)
{
GameObject tile = GameObject.CreatePrimitive(PrimitiveType.Cube);
tile.name = "Tile";
tile.transform.position = new Vector3(column * 1.1f - 1.65f, 0.1f, row * 1.1f);
tile.transform.localScale = new Vector3(1, 0.2f, 1);
tile.GetComponent<Renderer>().material.color = new Color(0.85f, 0.85f, 0.9f);
}
}
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