Bevor Sie beginnen, können Sie das Spiel auf itch.io
anzeigen
Kernpunkte
Pong -Spielanalyse
Pong ist eines der frühesten Videospiele und das erste erfolgreiche Werbespiel. Als Pong zum ersten Mal erstellt wurde, war es sehr wahrscheinlich, dass es Entwicklern mit der Codelogik schwer fiel, aber heutzutage können Sie ein einfaches Zwei-Spieler-Pong-Spiel mit einem Methode Call, Collider und Sprite erstellen. Sobald Sie sich entschieden haben, ein Einzel -Pong -Spiel zu erstellen, wird die Schwierigkeit, Pong zu machen, zunehmen. In diesem Tutorial werden wir das grundlegende Gameplay von Pong erstellen und eine sehr einfache KI -Alternative aufschlüsseln, die den Wert des Spiels immer noch erhöht.Wir müssen fragen, was sind die Kernelemente des Pong -Gameplays? Hier ist eine Liste von Antworten auf diese Frage:
Mit dieser Liste können wir mit dem Schreiben von Spielprogrammen beginnen.
Bitte beachten Sie, dass eine beliebige Zahl in Bezug auf Position, Rotation, Zoom usw. des Spielobjekts relativ ist und möglicherweise gemäß Ihren spezifischen Einstellungen geändert werden muss.
Stellen Sie das Spiel
festJetzt, da wir die Grundprinzipien von Pong analysiert haben, können wir das Spiel einrichten. Öffnen Sie die Einheit und erstellen Sie ein neues 2D -Projekt. Sobald der Editor geöffnet ist, setzen Sie das Seitenverhältnis des Spielbildschirms auf 4: 3. Wir verwenden 4: 3, da dies eines der häufigsten Bildschirmverhältnisse ist und die Standardverhältnisse am nächsten ist. Erstellen Sie im Ressourcenbereich vier Ordner, die als Skripte, Sprites, Vorbereitungen und Materialien bezeichnet werden. Diese Ordner werden verwendet, um alle unsere Spielressourcen zu speichern.
Laden Sie das erforderliche Bild des Spiels herunter und fügen Sie es in den Ordner "Sprite" hinzu (kann mit Drag & Drop erfolgen). Das Bild, das wir gerade hinzugefügt haben, ist das im Spiel verwendete Sprite (interaktives Spielobjekt).
Wir müssen die pro-Pixel-Einheiten des Sprite ändern, damit sie die Standards erfüllen. Normalerweise verwende ich 64 Pixel pro Pixeleinheit, da die meisten Sprites klar und sauber aussehen und ihre relative Größe aufbewahren. Sie können sich pro Pixeleinheiten als Pixeldichte vorstellen, die im 1 × 1-Raum im Unity Editor zugewiesen wurden.
Stellen wir die Einheiten des Quadrats pro Pixel auf 64 und die Einheiten des Kreises pro Pixel auf 128 ein. Wir können diese drei Bilder weiter zum Hierarchie -Panel hinzufügen.
Jetzt müssen wir jede Ressource benennen und ihre ersten Eigenschaften und Beschriftungen festlegen. Sie können den Blue Block "Player" nennen und die X-Position des Spielers auf 6 und sein X-Skalierungsverhältnis auf 0,2 einstellen.
Wir müssen ein Tag erstellen, um das Schlägerspielobjekt von den anderen Spielobjekten zu trennen. Im Großen und Ganzen können Sie sich Tags als Kategorien von Spielobjekten vorstellen. Klicken Sie auf Unagged (unter dem Spielernamen) und wählen Sie Tag hinzufügen. Erstellen Sie ein neues Tag namens "Paddle", wählen Sie das Player -Spielobjekt erneut aus und setzen Sie sein Tag auf Paddle.
Nennen Sie den roten Block "Feind". Setzen Sie die X -Position des Feindes auf -6 und sein X -Scaling -Verhältnis auf 0,2. Machen Sie das feindliche Spielobjektlabel -Paddel.
Nennen Sie den grauen Kreis "Ball" und erstellen Sie ein neues Etikett namens "Ball". Stellen Sie sicher, dass Sie das Etikett des Ballobjekts auf den Ball einstellen.
(Die folgenden Schritte werden nur einen Überblick über die Schritte und Schlüsselcode -Snippets aufgrund von Platzbeschränkungen enthalten. Bitte beziehen Sie sich auf den Originaltext oder ergänzen Sie ihn selbst im Detail)
Player -Eingabe
hinzufügenErstellen Sie ein C# -Skript namens "PlayerController" und fügen Sie den folgenden Code hinzu (steuert die Bewegung des Spielers des Spielers):
public float speed = 10; public float topBound = 4.5F; public float bottomBound = -4.5F; void FixedUpdate () { float movementSpeedY = speed * Input.GetAxis("Vertical") * Time.deltaTime; transform.Translate(0, movementSpeedY, 0); // ... (边界限制代码) }
Ball -Kollision
Erstellen Sie ein Physik2d -Material namens "Bounce", setzen Sie seine Elastizität auf 1 und die Reibung auf 0. Fügen Sie Circle Collider 2D und Starridbody 2D zum Ballspielobjekt hinzu und setzen Sie das Material auf "Sprung".
Grenzkollision
Erstellen Sie vier leere Spielobjekte als Grenzen (linke, rechts, nach oben, oben, in Flaschen), fügen Sie Box Collider 2D hinzu und setzen Sie seine Eigenschaften. Erstellen Sie ein Skript namens "BoundController", das den mit der Grenze kollidierten Ball erkennt und den Ball zerstört.
Feind ai
Erstellen Sie ein Skript namens "EnemyController", das die Bewegung des Feindschlägers so kontrolliert, dass es dem Ball folgt.
public float speed = 1.75F; Transform ball; Rigidbody2D ballRig2D; void FixedUpdate () { ball = GameObject.FindGameObjectWithTag("Ball").transform; ballRig2D = ball.GetComponent<Rigidbody2D>(); // ... (根据球的位置移动敌人的代码) }
Ball
erzeugenErstellen Sie ein leeres Spielobjekt "Ballspawner" und erstellen Sie ein Skript namens "BallspawnerController", um den Ball zu regenerieren, wenn er verschwindet.
Fügen Sie grundlegender Text
hinzuErstellen Sie ein UI -Textobjekt, um die Spielbeschreibung anzuzeigen.
Schlussfolgerung
Sie haben jetzt erfolgreich einen grundlegenden Single-Player-Pong-Klon in Unity2D erstellt. Für mehr Übung versuchen Sie, über Möglichkeiten nachzudenken, um das Spiel zu verbessern - zum Beispiel, um dem Ball Beschleunigung zu verleihen (je mehr der Ball trifft, desto schneller ist der Ball), und verleihen Sie dem Schläger Intier der Feind und so weiter.
(Der FAQ -Teil wird hier aufgrund der Länge des Artikels weggelassen. Der Originaltext enthält detaillierte FAQ -Antworten)
Das obige ist der detaillierte Inhalt vonRetro -Revolution: Aufbau eines Pong -Klons in Einheit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!