Inhaltsverzeichnis
Einheit Pong Klonen -Tutorial: Erstellen Sie klassische Spiele Schritt für Schritt
Heim Technologie-Peripheriegeräte IT Industrie Retro -Revolution: Aufbau eines Pong -Klons in Einheit

Retro -Revolution: Aufbau eines Pong -Klons in Einheit

Feb 19, 2025 am 09:01 AM

Einheit Pong Klonen -Tutorial: Erstellen Sie klassische Spiele Schritt für Schritt

Bevor Sie beginnen, können Sie das Spiel auf itch.io

anzeigen

Retro Revolution: Building a Pong Clone in Unity

Kernpunkte

  • Aufbau eines Pong -Klons in Einheit enthält mehrere wichtige Schritte, einschließlich der Einrichtung der Spielumgebung, der Hinzufügen von Spielern, Bällen und Grenzkollisionen, der Implementierung der feindlichen KI, der Erzeugung von Bällen und dem Hinzufügen grundlegender Textanweisungen.
  • Zu den Einstellungen für die Spielumgebung für Spielumgebungen gehören das Erstellen eines neuen 2D -Projekts in Einheit, die Festlegung des Seitenverhältnisses des Spielbildschirms auf 4: 3 und das Erstellen von Ordnern für Skripte, Sprites, Vorfabriken und Materialien. Sie müssen das Sprite herunterladen und in den Sprite -Ordner hinzufügen und die Einheiten pro Pixel einstellen, um ein klares und sauberes Erscheinungsbild zu gewährleisten.
  • Spielereingabe wird über ein C# -Skript namens "PlayerController" hinzugefügt, das die Geschwindigkeit und die Reichweite der Spielerbewegung des Spielers festlegt. Fügen Sie Box Collider 2D zum Player GameObject hinzu, um Kollisionen zu bewältigen.
  • Ball- und Grenzkollisionen werden verwaltet, indem ein Physik2d -Material mit dem Namen "Bounce" erstellt wird, wobei die Elastizität auf 1 und die Reibung auf 0 eingestellt ist. Fügen Sie Circle Collider 2D und Rigidbody 2D dem Ballspielobjekt hinzu, um seine Interaktion mit der Umgebung zu verwalten.
  • Feind AI wird durch ein C# -Skript namens "EnemyController" implementiert, das die Geschwindigkeit des Feindes festlegt und Bewegungen als Reaktion auf die Position des Balls verwaltet. Der Zielfernrohr des Feindes befindet sich auch in diesem Skript.
  • Die Ballgeneration erstellt ein "Ballspawner" -Pame -Objekt und ein C# -Skript namens "BallspawnerController". Dieses Skript überprüft die Anwesenheit eines Balls und erstellt, wenn nicht, einen neuen Ball.

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:

  1. Spielereingabe - Wir möchten, dass die Spieler ihren Schläger nach oben und unten verschieben können, um einen Treffer zu erzielen.
  2. Ball -Kollision - Wenn der Ball einen Schläger oder eine Grenze trifft, darf er keine Geschwindigkeit verlieren.
  3. Border -Kollision - Der Ball muss in der Lage sein, vom oberen und unteren Bildschirmrand zu springen, damit er den Spielbereich nicht verlässt.
  4. Feind AI - Wenn der Feind am anderen Ende des Bildschirms sitzt und sich nicht bewegt, ist die Spielbarkeit des Spiels fast Null.
  5. Ball erzeugen - Wenn der Ball eine der Grenzen hinter dem Schläger erreicht, müssen wir ihn regeneriert, damit wir das Spiel fortsetzen können.
  6. Ball-to-Racquet-Kollisionsbereichserkennung-Auf diese Weise kann der Ball in einem einzigartigen Winkel vom Schläger abprallen, damit wir den Ball besser zielen können, wenn wir den Schläger damit schlagen.

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

fest

Jetzt, 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.

Retro Revolution: Building a Pong Clone in Unity

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).

Retro Revolution: Building a Pong Clone in Unity Retro Revolution: Building a Pong Clone in Unity Retro Revolution: Building a Pong Clone in Unity

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.

Retro Revolution: Building a Pong Clone in Unity

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ügen

Erstellen 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);
    // ... (边界限制代码)
}
Nach dem Login kopieren

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>();
    // ... (根据球的位置移动敌人的代码)
}
Nach dem Login kopieren

Ball

erzeugen

Erstellen 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

hinzu

Erstellen 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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1666
14
PHP-Tutorial
1273
29
C#-Tutorial
1254
24
CNCF ARM64 Pilot: Impact and Insights CNCF ARM64 Pilot: Impact and Insights Apr 15, 2025 am 08:27 AM

Dieses Pilotprogramm, eine Zusammenarbeit zwischen CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal und betätigten, rationalisiert ARM64 CI/CD für CNCF -Github -Projekte. Die Initiative befasst sich mit Sicherheitsbedenken und Leistung

Serverlose Bildverarbeitungspipeline mit AWS ECS und Lambda Serverlose Bildverarbeitungspipeline mit AWS ECS und Lambda Apr 18, 2025 am 08:28 AM

Dieses Tutorial führt Sie durch das Erstellen einer serverlosen Bildverarbeitungspipeline mit AWS -Diensten. Wir werden ein Next.JS -Frontend erstellen, der in einem ECS -Fargate -Cluster eingesetzt wird und mit einem API -Gateway, Lambda -Funktionen, S3 -Eimer und DynamoDB interagiert. Th

Top 21 Entwickler -Newsletter, die sich 2025 abonnieren können Top 21 Entwickler -Newsletter, die sich 2025 abonnieren können Apr 24, 2025 am 08:28 AM

Bleiben Sie über die neuesten technischen Trends mit diesen Top -Entwickler -Newsletters informiert! Diese kuratierte Liste bietet für jeden etwas, von KI -Enthusiasten bis hin zu erfahrenen Backend- und Frontend -Entwicklern. Wählen Sie Ihre Favoriten und sparen Sie Zeit, um nach REL zu suchen

CNCF löst einen Durchbruch der Plattformparität für ARM64 und X86 aus CNCF löst einen Durchbruch der Plattformparität für ARM64 und X86 aus May 11, 2025 am 08:27 AM

CI/CD -Rätsel und -Lösungen für Open -Source -Software in ARM64 Architektur Die Bereitstellung von Open -Source -Software auf der ARM64 -Architektur erfordert eine leistungsstarke CI/CD -Umgebung. Es gibt jedoch einen Unterschied zwischen den Stützniveaus von ARM64 und herkömmlichen X86 -Prozessorarchitekturen, die häufig im Nachteil sind. Infrastrukturkomponentenentwickler für mehrere Architekturen haben bestimmte Erwartungen für ihr Arbeitsumfeld: Konsistenz: Die Tools und Methoden, die über Plattformen hinweg verwendet werden, sind konsistent und vermeiden, dass der Entwicklungsprozess aufgrund der Einführung weniger beliebter Plattformen geändert werden muss. Leistung: Die Plattform- und Support -Mechanismus haben eine gute Leistung, um sicherzustellen, dass die Bereitstellungsszenarien bei der Unterstützung mehrerer Plattformen nicht von unzureichender Geschwindigkeit beeinflusst werden. Testabdeckung: Effizienz, Konformität und

Vorteile der benutzerdefinierten Telekommunikationssoftware Vorteile der benutzerdefinierten Telekommunikationssoftware May 11, 2025 am 08:28 AM

Die kundenspezifische Entwicklung von Telekommunikationssoftware ist zweifellos eine beträchtliche Investition. Langfristig können Sie jedoch erkennen, dass ein solches Projekt möglicherweise kostengünstiger ist, da es Ihre Produktivität wie jede fertige Lösung auf dem Markt steigern kann. Verstehen Sie die wichtigsten Vorteile des Aufbaus eines maßgeschneiderten Telekommunikationssystems. Holen Sie sich die genauen Funktionen, die Sie benötigen Es gibt zwei potenzielle Probleme mit der von Ihnen gekauften Telekommunikationssoftware. Einige fehlen nützliche Funktionen, die Ihre Produktivität erheblich verbessern können. Manchmal können Sie sie mit einer externen Integration verbessern, aber das ist nicht immer genug, um sie großartig zu machen. Andere Software hat zu viele Funktionen und ist zu kompliziert, um sie zu verwenden. Sie werden wahrscheinlich einige davon nicht verwenden (niemals!). Eine große Anzahl von Funktionen trägt normalerweise zum Preis bei. Basierend auf Ihren Bedürfnissen

See all articles