Bauen eines Pong -Klons in Einheit: UI und Gameplay
Dieses Tutorial verbessert einen grundlegenden Pong-Klon, der in der Einheit eingebaut ist und eine klassische Pong-Ästhetik, eine verbesserte Gameplay-Mechanik und eine UI im Retro-Stil hinzufügt. Lassen Sie uns unser Pong -Spiel aktualisieren!
Teil 2: Retro Revamp & Enhanced Gameplay
Dieses Tutorial baut auf dem vorherigen Pong -Klon auf. Laden Sie das Projekt aus GitHub oder vollständiger Teil 1 herunter, bevor Sie fortfahren. Eine funktionierende Demo und das endgültige verbesserte Spiel sind ebenfalls verfügbar.
Schlüsselverbesserungen:
- Klassisches Styling: Schwarz -Weiß -Sprites importieren, Pixel pro Einheit (bis 64) für authentische Retro -Visuals einstellen. Ändern Sie den Hauptkameras -Hintergrund in Schwarz und aktualisieren Sie Paddel- und Ballsprites entsprechend. Erstellen Sie einen zentralen Teiler mit mehreren skalierten weißen Sprites.
- Verbesserte Kollisionen: Umgang mit der Kugelkollision zur Berechnung der Schlagwinkel auf Paddeln, wodurch Realistischer wird. Dies beinhaltet die Aktualisierung der
BallController
-Skript -Methode, um die FunktionOnCollisionEnter2D
zu verwenden. Denken Sie daran, den Spieler und die feindlichen Paddel angemessen zu markieren.launchAngle
- Verbesserte feindliche AI: glatte feindliche Paddelbewegung mit zeitbasierten Berechnungen, die Reaktionsfähigkeit und Herausforderung verbessert. Ändern Sie das Skript , um
EnemyController
zu verwenden, wobei die Geschwindigkeit und das Timing für eine optimale Glätte angepasst werden. Fügen Sie Grenzen hinzu, um zu verhindern, dass das KI-Paddel außerhalb des Bildschirms geht. Das SkriptInvokeRepeating("Move", .02F, .02F)
sollte die Position des Feindpaddels nach der Zerstörung des Balls zurücksetzen.BoundsController
- Menü Retro Pause: Erstellen Sie ein Pausemenü mit einer benutzerdefinierten Pixel -Schriftart (wie Siebdruck). Fügen Sie Schaltflächen "Reset" und "Hauptmenü" mit entsprechenden Funktionen ein. Das Skript verwaltet die Pause und Wiederaufnahme sowie Menüelemente an. Stellen Sie sicher, dass Sie die Pause -Menüelemente mit "Showonpause" markieren.
UIManager
- Dynamisches Hauptmenü: Entwerfen Sie ein Hauptmenü mit simuliertem AI -Gameplay im Hintergrund. Duplizieren Sie die Hauptspielszene, entfernen Sie unnötige Elemente und fügen Sie einen Titel und "Play" -Button hinzu. Verwenden Sie die Skripte und
AutoPlayer
(ähnlich der feindlichen KI, jedoch mit Anpassungen für Geschwindigkeit und Timing), um die AI -Paddel im Hauptmenü zu steuern.AutoEnemy
- Bewertungssystem: Implementieren Sie ein Bewertungssystem, das Player- und KI ) ist erreicht und zeigt ein Spiel über dem Bildschirm an. Das Skript zeigt den Gewinner an. Denken Sie daran, das Spiel über Elemente mit "Showonfinish" zu markieren.
PointCounter
GameOver
(BallController.cs - OnCollisionEnter2d & Launchangle) (fegeemyController.cs - Bewegung) (uimanager.cs - partiell) (pointcounter.cs) (GameOver.cs) Denken Sie daran, Werte wie Geschwindigkeit und Timing in den AI-Skripten anzupassen, um die Schwierigkeitsgrad des Gameplays zu optimieren. Dieser verbesserte Pong -Klon bietet ein umfassenderes und ansprechenderes Retro -Spielerlebnis. Der GitHub -Link (nicht in der Eingabe angegeben) würde die vollständigen Projektdateien enthalten. void OnCollisionEnter2D(Collision2D col) {
if (col.gameObject.tag == "Enemy") {
float y = launchAngle(transform.position, col.transform.position, col.collider.bounds.size.y);
Vector2 d = new Vector2(1, y).normalized;
rig2D.velocity = d * speed * 1.5F;
}
if (col.gameObject.tag == "Player") {
float y = launchAngle(transform.position, col.transform.position, col.collider.bounds.size.y);
Vector2 d = new Vector2(-1, y).normalized;
rig2D.velocity = d * speed * 1.5F;
}
}
float launchAngle(Vector2 ball, Vector2 paddle, float paddleHeight) {
return (ball.y - paddle.y) / paddleHeight;
}
void Move() {
if (ball == null) {
ball = GameObject.FindGameObjectWithTag("Ball").transform;
}
ballRig2D = ball.GetComponent<Rigidbody2D>();
if (ballRig2D.velocity.x > 0) {
if (ball.position.y > this.transform.position.y + .5F) {
transform.Translate(Vector3.up * speed * Time.deltaTime);
} else if (ball.position.y < this.transform.position.y - .5F) {
transform.Translate(Vector3.down * speed * Time.deltaTime);
}
}
// ... bounds checking ...
}
// ... other methods ...
public void showFinished() {
foreach (GameObject g in finishObjects) {
g.SetActive(true);
}
}
// ... other methods ...
void Update () {
text.text = rightBound.GetComponent<BoundController>().enemyScore + "\t\t" +
leftBound.GetComponent<BoundController>().playerScore;
}
void Update () {
if(uiManager.playerWon){
text.text = "GAME OVER!\nPLAYER WON!";
} else if(uiManager.enemyWon){
text.text = "GAME OVER!\nENEMY WON!";
}
}
Das obige ist der detaillierte Inhalt vonBauen eines Pong -Klons in Einheit: UI und Gameplay. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Website -Konstruktion ist nur der erste Schritt: die Bedeutung von SEO und Backlinks Das Erstellen einer Website ist nur der erste Schritt, um sie in ein wertvolles Marketing -Asset umzuwandeln. Sie müssen die SEO -Optimierung durchführen, um die Sichtbarkeit Ihrer Website in Suchmaschinen zu verbessern und potenzielle Kunden anzulocken. Backlinks sind der Schlüssel zur Verbesserung Ihrer Website -Rankings und zeigt Google und andere Suchmaschinen die Autorität und Glaubwürdigkeit Ihrer Website an. Nicht alle Backlinks sind von Vorteil: Identifizieren und vermeiden Sie schädliche Links Nicht alle Backlinks sind von Vorteil. Schädliche Links können Ihr Ranking schädigen. Hervorragender kostenloser Backlink -Checking -Tool überwacht die Quelle der Links zu Ihrer Website und erinnert Sie an schädliche Links. Darüber hinaus können Sie auch die Linkstrategien Ihrer Wettbewerber analysieren und daraus lernen. Kostenloses Backlink -Check -Tool: Ihr SEO -Intelligenzbeauftragter

Dieser GO-basierte Netzwerkanfälligkeitsscanner identifiziert potenzielle Sicherheitsschwächen effizient. Es nutzt die Parallelitätsfunktionen von GO und beinhaltet die Erkennung und Anfälligkeitserkennung. Erforschen wir seine Fähigkeiten und ethisch

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
