In einem Raster spawnen
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 50 von 67.
Eine Schleife in einer Schleife besucht jede Zelle eines Rasters: Die äußere Schleife wählt eine Spalte aus, die innere durchläuft sie. Füge ein Instantiate hinein, und jede Zelle erhält ein Objekt. Damit wird ein 3 mal 3 großer Boden aus Kacheln mit einer Breite von 2 Einheiten erstellt, sodass die Kacheln 2 Einheiten voneinander entfernt sind:
public GameObject tilePrefab;
void Start()
{
for (int x = 0; x < 3; x++)
{
for (int z = 0; z < 3; z++)
{
Vector3 spot = new Vector3(x * 2, 0, z * 2);
Instantiate(tilePrefab, spot, Quaternion.identity, transform);
}
}
}Die Kacheln landen bei x = 0, 2, 4 und z = 0, 2, 4: neun Stück, von (0, 0, 0) bis (4, 0, 4). Die Schleifen werden einmal in Start() ausgeführt. In Update() würden sie in jedem Frame neun weitere Kacheln hinzufügen.
Das vierte Argument ist ein übergeordnetes Objekt. Neun lose Tile(Clone)-Objekte würden die Hierarchy unübersichtlich machen; mit transform werden sie unter dem Objekt abgelegt, an dem dieses Skript hängt, dem Floor. So können sie eingeklappt, gemeinsam verschoben oder gemeinsam gelöscht werden. Die Position, die du übergibst, ist weiterhin eine Weltposition.
Aufgabe
MittelBaue aus dem Brick-Prefab eine Ziegelmauer, die 4 Ziegel breit und 5 Reihen hoch ist und auf dem Boden steht. Ein Ziegel ist 1 Einheit breit und 0.5 hoch.
- Die 4 Spalten befinden sich bei x = -1.5, -0.5, 0.5 und 1.5.
- Die unterste Reihe steht auf dem Boden, daher befinden sich ihre Ziegel bei y = 0.25. Jede Reihe liegt 0.5 über der darunterliegenden.
- Jeder Ziegel befindet sich bei z = 0, ist nicht gedreht und ist ein untergeordnetes Objekt von Wall, dem Objekt, auf dem sich dieses Skript befindet.
Drücke Play, um die Mauer zu sehen, und dann Check.
Probier es selbst
using UnityEngine;
public class WallBuilder : MonoBehaviour
{
public GameObject brickPrefab;
void Start()
{
// 4 Spalten mit 5 Ziegelreihen, jeder Ziegel ein Kindobjekt dieser Wall
}
}
Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen des Scripting in Unity
1Dein erstes Skript
Hallo, UnityPlatziere den WürfelBewege dich in jedem FrameDrehe dich jede SekundeSteuere mit den TastenRückblick: Steuere den Würfel4Vektoren
Vektoren addierenRichtungenLokaler und globaler RaumDiagonale GeschwindigkeitAbstand zwischen ObjektenVector3 ist ein StructRückblick: Drohnenpilot7Projekt: Fang den Stern
Der FängerEin fallender Stern10Der Lebenszyklus eines Skripts
Awake und StartUpdate und LateUpdateOnEnable und OnDisableDie Reihenfolge im LebenszyklusRückblick: Lifecycle Logger5Transformationen und Hierarchie
Eltern und KinderSkalierungDinge ansehenAuf einen Punkt zubewegenRückblick: Umlaufender Mond8Dinge finden
Nach Namen findenTagsNach Typ findenReferenzen schlagen FindUnitys NullRückblick: Nächste Münze11Projekt: Weiche den Blöcken aus
Der LäuferFallende Blöcke6GameObjects und Komponenten
Referenzen im InspectorEine Komponente abrufenFehlende KomponentenEine Komponente hinzufügenRequireComponentEin- und AusblendenRückblick: Lichtschalter9Prefabs und Spawnen
Prefabs und InstantiateNach Timer spawnenIn einem Raster spawnenObjektlistenZerstörenZufälliges SpawnenRückblick: Feuerwerk