Turmbauer
Teil des Abschnitts Grundlagen des Scripting in Unity der Unity-Journey von Coddy. Lektion 67 von 67.
Ein Kran bewegt sich über einer Basis hin und her. Bei jedem Drücken der Leertaste oder jedem Klick fällt ein Block senkrecht vom Kran herunter. Ein Block, der oben auf dem Stapel landet, bleibt dort, und der nächste Block muss darauf landen. Ein Block, der danebenfällt, fällt herunter. Die Höhe des Stapels ist die Punktzahl.
Schreibe das ganze Spiel in ein einziges Skript, Crane, auf dem Kran.
Aufgabe
SchwerSchreibe das Skript Crane auf den Kran. Lege im Inspector blockPrefab (das Block-Prefab), top (die Base, also die bisherige Spitze des Stapels), craneSpeed (3), craneEdge (4) und fallSpeed (7) fest.
- Der Kran bewegt sich mit
craneSpeedEinheiten pro Sekunde entlang der x-Achse. Sobald ercraneEdgeüberschreitet, dreht er um und fährt nach links zurück. Sobald er-craneEdgeunterschreitet, dreht er um und fährt nach rechts zurück. - Mit der Leertaste oder einem Linksklick lässt du einen Block an der x-Position des Krans fallen, 1 Einheit unterhalb des Krans. Solange ein Block fällt, haben weitere Eingaben keine Wirkung.
- Der fallende Block bewegt sich mit
fallSpeedEinheiten pro Sekunde nach unten. - Wenn seine y-Position auf
tops y-Position plus 1 sinkt und seine x-Position weniger als 1 vontops x-Position entfernt ist, landet er: Setze seine y-Position genau auftops y-Position plus 1, mache ihn zum neuentopund gib die Höhe des Stapels alsStack: 1,Stack: 2usw. aus. - Ein Block, der nicht landet, fällt weiter. Unterhalb von y = -3 zerstörst du ihn und gibst
Missed!aus.
Drücke Play und baue einen Turm, dann Check.
Probier es selbst
using UnityEngine;
public class Crane : MonoBehaviour
{
[SerializeField] private GameObject blockPrefab;
[SerializeField] private Transform top;
[SerializeField] private float craneSpeed = 3f;
[SerializeField] private float craneEdge = 4f;
[SerializeField] private float fallSpeed = 7f;
void Update()
{
}
}
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: Lichtschalter