Zum Hauptinhalt springen

Skript zum Verschieben eines Charakters in Unity 2D: Ein Anfängerhandbuch

Unity ist ein leistungsstarkes Spielentwicklungstool, mit dem Sie Spiele verschiedener Genres und Plattformen erstellen können. Um ein Spiel zu erstellen, müssen Sie lernen, die Bewegung des Charakters zu kontrollieren. In diesem Tutorial erfahren Sie, wie Sie ein Skript schreiben, um einen Charakter in Unity 2D zu verschieben.

Bevor Sie mit dem Erstellen des Skripts beginnen, müssen Sie die Entwicklungsumgebung vorbereiten. Laden Sie Unity herunter und installieren Sie sie, falls Sie dies noch nicht getan haben. Erstellen Sie dann ein neues Unity 2D-Projekt und passen Sie es an Ihre Anforderungen an.

Bevor Sie Code schreiben, müssen Sie verstehen, wie ein Charakter verwaltet wird. Sie können die Tasten auf der Tastatur verwenden, oder Sie können den Charakter mit einer Maus oder einem Controller steuern. In diesem Handbuch werden wir die Pfeiltasten verwenden.

Erstellen Sie zunächst ein neues C# -Skript in Unity und nennen Sie es "CharacterMovement". Öffnen Sie es in der ausgewählten Entwicklungsumgebung und beginnen Sie mit dem Schreiben von Code.

So lernen Sie das Bewegungsskript eines Charakters in Unity 2D

Es gibt mehrere Möglichkeiten, eine Charakterbewegung zu implementieren, aber eine der einfachsten Methoden besteht darin, das moveBy-Skript auf einem Charakterobjekt zu verwenden.

Zuerst müssen Sie ein neues Skript namens moveBy erstellen und es an das Charakterobjekt anhängen. Innerhalb des Skripts müssen Sie Variablen definieren, um die Geschwindigkeit und Richtung der Bewegung des Charakters zu steuern.

Beispielcode für ein moveBy-Skript:

using UnityEngine;public class MoveBy : MonoBehaviour>

In diesem Code verwenden wir die Variable speed, um die Bewegungsgeschwindigkeit eines Charakters festzulegen. Die direction-Variable bestimmt die Richtung, in der sie sich bewegt, in diesem Fall nach rechts.

In der Funktion Update() verwenden wir die Methode Translate(), um ein Charakterobjekt mit einer bestimmten Geschwindigkeit in eine bestimmte Richtung zu verschieben.

Nachdem Sie ein moveBy-Skript auf ein Charakterobjekt erstellt und angewendet haben, bewegt sich der Charakter mit der angegebenen Geschwindigkeit nach rechts. Sie können die Werte der Variablen speed und direction ändern, um die Bewegung des Charakters nach Belieben anzupassen.

Jetzt können Sie das moveBy-Skript weiter ergänzen, Animationen hinzufügen, mit anderen Objekten interagieren und vieles mehr. Dieses Beispiel ist nur der Anfang Ihrer Reise in die Welt des Spielens mit Unity 2D.

Unity installieren und konfigurieren

Schritt 1: Laden Sie Unity herunter

Der erste Schritt ist, Unity herunterzuladen und zu installieren. Gehen Sie zur offiziellen Unity-Website (https://unity.com /), suchen Sie den Download-Abschnitt und wählen Sie die richtige Version für Ihr Betriebssystem aus.

Schritt 2: Installieren von Unity

Sobald der Download abgeschlossen ist, führen Sie die Unity-Installationsdatei aus. Befolgen Sie die Installationsanweisungen, indem Sie die erforderlichen Optionen wie den Installationspfad und die Komponenten auswählen, die Sie installieren möchten.

Schritt 3: Registrieren und Erstellen eines Projekts

Starten Sie nach der Installation Unity und erstellen Sie ein neues Projekt. Wählen Sie dazu die Registerkarte "Neu" aus, geben Sie den Projektnamen und den zu speichernden Pfad an und wählen Sie die Projektvorlage aus, die für Ihr 2D-Spiel am besten geeignet ist.

Schritt 4: Organisieren der Szene

Mit Unity können Sie Szenen erstellen, in denen Objekte, Charaktere und andere Elemente des Spiels platziert werden. Passen Sie die Szene an, indem Sie Objekte hinzufügen und positionieren und deren Eigenschaften und Verhalten definieren.

Schritt 5: Konfigurieren des Charaktercontrollers

Ein Skript wird verwendet, um einen Charakter in Unity zu verschieben. Erstellen Sie mithilfe der Unity-Entwicklungsumgebung ein neues Charakter-Controller-Skript. Schreiben Sie Code, um den Charakter mit der Tastatur oder Maus zu bewegen.

Glückwunsch! Sie haben Unity erfolgreich installiert und konfiguriert, um ein 2D-Spiel zu entwickeln. Jetzt können Sie beginnen, Ihr eigenes Spiel zu erstellen und die Programmierung auf der Unity-Plattform zu erlernen.

Erstellen eines 2D-Charakters

Bevor wir mit dem Erstellen eines Charakterbewegungsskripts beginnen, müssen wir den Charakter selbst erstellen. In diesem Handbuch werden wir mit einem 2D-Charakter arbeiten.

Öffnen Sie zunächst Unity und erstellen Sie ein neues Projekt. Gehen Sie dann zum Projektfenster und erstellen Sie einen neuen "Sprites" -Ordner, in dem wir die Sprites unseres Charakters speichern.

Sie können Sprites für Ihren Charakter auf speziellen Ressourcen finden oder sie selbst in einem grafischen Editor erstellen. Stellen Sie sicher, dass Ihr Charakter mehrere Sprites zum Animieren des Gehens und Sprites für Ruhezustände, Springen und Tod hat.

Wenn Sie alle erforderlichen Sprites haben, verschieben Sie sie in den Ordner "Sprites".

Jetzt erstellen wir ein leeres Objekt in der Szene, das unseren Charakter darstellt. Klicken Sie mit der rechten Maustaste in die Hierarchieleiste, wählen Sie "Create Empty" (Leer erstellen) und nennen Sie es dann "Player".

Wählen Sie das erstellte Player-Objekt im Bereich "Hierarchie" aus, klicken Sie mit der rechten Maustaste und wählen Sie "2D Object" -> "Sprite". Dadurch wird unserem Charakter eine Sprite Renderer-Komponente hinzugefügt.

Jetzt müssen Sie ein Sprite für die Sprite Renderer-Komponente angeben. Wählen Sie im Feld Sprite das gewünschte Sprite aus dem Ordner Sprites aus.

Danach können Sie mit der Anpassung der Charakteranimation beginnen. Erstellen Sie ein leeres Objekt, nennen Sie es "Animations" und übertragen Sie alle animierten Sprites Ihres Charakters in das erstellte Objekt.

Erstellen Sie nun eine Animator-Komponente für unseren Charakter. Wählen Sie das Player-Objekt im Bereich "Hierarchie" aus, klicken Sie mit der rechten Maustaste und wählen Sie "2D-Objekt" -> "Animator".

Wenn Sie eine Animator-Komponente hinzugefügt haben, doppelklicken Sie darauf, um in den Animator-Bearbeitungsmodus zu wechseln. Ziehen Sie dann alle erstellten Animationssprites des Charakters aus dem Animations-Objekt in das Feld Controller in der Animator-Komponente.

Jetzt kannst du Animationen deines Charakters mit dem Unity-Animationseditor erstellen und verwalten.

An diesem Punkt müssen Sie einen 2D-Charakter mit Animationen erstellt haben. Im nächsten Abschnitt werden wir uns ansehen, wie man ein Skript schreibt, um einen Charakter zu bewegen.

Erstellen eines Verschiebungsskripts

Zuerst müssen wir ein Skript erstellen, das für das Verschieben des Charakters in Unity verantwortlich ist. Hier ist ein Beispielcode für dieses Skript:

using UnityEngine;
public class PlayerMovement : MonoBehaviour
public float speed = 5f; // Bewegungsgeschwindigkeit des Charakters
void Update()
float moveX = Input.GetAxis("Horizontal"); // Horizontal verschieben
float moveY = Input.GetAxis("Vertical"); // Vertikal verschieben
Vector2 movement = new Vector2(moveX, moveY); // Vektor verschieben
transform.Translate(movement * speed * Time.deltaTime); // Bewegung auf einen Charakter anwenden
>
>

Zunächst importieren wir den UnityEngine-Namespace . Definieren Sie dann die Skriptklasse und nennen Sie sie PlayerMovement . Wir deklarieren auch eine öffentliche Variable speed , die die Bewegungsgeschwindigkeit des Charakters steuert.

Dann definieren wir die Update- Funktion, die von jedem Frame aufgerufen wird. Innerhalb dieser Funktion speichern wir die horizontalen und vertikalen Verschiebungswerte mit der Input-Methode.GetAxis . Erstellen Sie dann einen Bewegungsvektor und wenden Sie ihn mithilfe der Transform-Methode auf die Position des Charakters an.Translate . Wir multiplizieren den Bewegungsvektor mit der Geschwindigkeit und der verstrichenen Zeit seit dem vorherigen Frame, um die Bewegung unabhängig von der Leistung des Computers reibungslos zu machen.

Um dieses Skript zu verwenden, fügen Sie es einfach dem Charakterobjekt in Unity hinzu. Der Charakter bewegt sich entsprechend den WASD-Tastenanschlägen (um sich horizontal und vertikal zu bewegen) oder den Pfeilen. Sie können nun die Bewegungsgeschwindigkeit anpassen, indem Sie den Wert der Variablen speed im Objektinspektor des Charakters ändern.

Beschreibung der Hauptfunktionen des Skripts

In diesem Abschnitt werden die grundlegenden Funktionen beschrieben, die in einem Skript zum Verschieben eines Charakters in Unity 2D verwendet werden.

Name der FunktionDie Beschreibung
Start()Eine Funktion, die beim Starten der Szene aufgerufen wird. Darin werden Variablen initialisiert und die Anfangswerte festgelegt.
Update()Eine Funktion, die von jedem Frame aufgerufen wird. Es aktualisiert den Status des Charakters und verschiebt ihn basierend auf Benutzereingaben. Diese Funktion überprüft normalerweise Tastatureingaben oder Mausbewegungen.
Move()Eine Funktion, die für die Bewegung des Charakters verantwortlich ist. Es ändert die Position des Charakters basierend auf den übergebenen Parametern (z. B. Geschwindigkeit und Richtung).
CheckBoundaries()Eine Funktion, die prüft, ob ein Charakter außerhalb des Spielbereichs liegt. Wenn ein Charakter außerhalb der Grenzen liegt, wird seine Position angepasst.

Dem Skript können auch andere Funktionen hinzugefügt werden, die für die Implementierung einer bestimmten Spiellogik erforderlich sind. Jede Funktion führt bestimmte Aktionen aus, um sicherzustellen, dass der Charakter korrekt bewegt wird.

Hinzufügen von Tastensteuerungen

Um die Tastensteuerung zum Verschieben eines Charakters in Unity 2D hinzuzufügen, müssen wir ein Skript verwenden und die Tastatureingabe verarbeiten.

Zuerst erstellen wir ein neues Skript, das für die Steuerung des Charakters verantwortlich ist. Klicken Sie dazu mit der rechten Maustaste auf den Ordner "Scripts" im Projekt, wählen Sie "Create" und "C# Script" und benennen Sie ihn zum Beispiel "PlayerController".

Öffnen Sie das Skript "PlayerController", und fügen Sie dem Inhalt den folgenden Code hinzu:

using UnityEngine;
public class PlayerController : MonoBehaviour
public float speed = 5f;
private Rigidbody2D rb;
private Vector2 moveDirection;
void Start()
rb = Getkomponente();
>
leere Aktualisierung ()
float moveX = Eingabe.GetAxis("Horizontal");
float moveY = Eingabe.GetAxis("Vertikal");
Bewegungsrichtung = neuer Vektor2 (moveX, moveY).normalisieren;
>
ungültiges FixedUpdate ()
rb.geschwindigkeit = neuer Vektor2 (Bewegungsrichtung.x * Geschwindigkeit, Bewegungsrichtung.y * Geschwindigkeit);
>
>

In diesem Code deklarieren wir Variablen für die Bewegungsgeschwindigkeit des Charakters, die Rigidbody2D-Komponente und den Bewegungsrichtungsvektor. In der Start-Methode erhalten wir einen Verweis auf die Rigidbody2D-Komponente, und in der Update-Methode erhalten wir Tastatureingaben als Werte entlang der X- und Y-Achse. Dann normalisieren wir den Bewegungsrichtungsvektor und verwenden ihn in der FixedUpdate-Methode, um die Bewegungsgeschwindigkeit des Charakters festzulegen.

Suchen Sie nun nach dem Charakterobjekt in der Szene, fügen Sie ihm eine Rigidbody2D-Komponente hinzu (falls nicht) und fügen Sie das Skript "PlayerController" hinzu.

Wenn Sie das Spiel starten und die WASD- oder Pfeiltasten drücken, sehen Sie, dass sich der Charakter mit der in der Variablen speed angegebenen Geschwindigkeit über die Bühne bewegt.

Testen eines Skripts in Unity

Nachdem Sie ein Skript erstellt und konfiguriert haben, um einen Charakter in Unity zu verschieben, müssen Sie es testen, um sicherzustellen, dass alles ordnungsgemäß funktioniert. In diesem Abschnitt werden wir die grundlegenden Methoden zum Testen eines Skripts untersuchen.

1. Starten einer Szene im Editor

Die einfachste Möglichkeit, ein Skript zu testen, besteht darin, eine Szene im Unity-Editor auszuführen. Wählen Sie dazu die Hauptszene Ihres Projekts aus und klicken Sie auf die Schaltfläche "Play". Während der Wiedergabe einer Szene kannst du den Charakter mit den Tasten auf der Tastatur steuern und die Arbeit des Skripts überprüfen.

2. Überprüfen der Charakterbewegung

Stellen Sie sicher, dass sich der Charakter in die richtige Richtung und mit der richtigen Geschwindigkeit bewegt. Stellen Sie sicher, dass er sich horizontal und vertikal bewegen und sich in die gewünschte Richtung drehen kann.

3. Kollisionsprüfung

Stellen Sie sicher, dass der Charakter nicht durch Wände und Hindernisse geht. Stellen Sie sicher, dass der Charakter beim Versuch, ein Hindernis zu überqueren, anhält und nicht hindurchgeht.

4. Testen unter verschiedenen Bedingungen

Versuchen Sie, das Skript unter verschiedenen Bedingungen zu testen, z. B. auf unterschiedlichen Schwierigkeitsgraden, wenn andere Objekte auf der Bühne vorhanden sind oder wenn Sie die Skriptparameter ändern. Stellen Sie sicher, dass das Skript unter allen Bedingungen einwandfrei funktioniert und keine Fehler oder unerwartetes Verhalten verursacht.

Wenn Sie das Skript in Unity testen, können Sie sicherstellen, dass sich Ihr Charakter richtig bewegt und mit der Umgebung interagiert. Sobald Sie sicher sind, dass das Skript ordnungsgemäß funktioniert, können Sie mit den nächsten Entwicklungsschritten Ihres Spiels fortfahren.