Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Spielerinteraktion mit Objekten | Spielerverhalten
Kampfspiel in Unity
course content

Kursinhalt

Kampfspiel in Unity

Kampfspiel in Unity

1. Unity-Animationssystem
2. Spielerverhalten
3. Feindverhalten
4. Spiel Verbessern
5. Verbessere das Flappy Bird Spiel

book
Spielerinteraktion mit Objekten

Schnittstellen

Eine Schnittstelle ist wie ein Vertrag, der eine Reihe von Methoden und Eigenschaften definiert, die eine Klasse implementieren muss. Sie ermöglicht es Ihnen, festzulegen, welche Funktionalität eine Klasse haben sollte, ohne die Implementierungsdetails bereitzustellen.

Beispiel

Angenommen, Sie erstellen ein Spiel in Unity und möchten verschiedene Waffentypen wie Schwerter, Gewehre und Bögen erstellen. Sie könnten eine Schnittstelle namens IWeapon erstellen, die die grundlegenden Aktionen umreißt, die jede Waffe ausführen können sollte, wie Attack() und Reload().

Nun muss jede Klasse, die in Ihrem Spiel als Waffe betrachtet werden soll, dieses Interface implementieren. Zum Beispiel könnten Sie eine Sword-Klasse oder eine Gun-Klasse haben.

Durch die Verwendung von Interfaces können Sie sicherstellen, dass alle Ihre Waffen die gleiche grundlegende Funktionalität (Attack() und Reload()) haben, aber jede kann ihre eigene einzigartige Implementierung haben. Dies macht Ihren Code modularer und einfacher zu verwalten, insbesondere wenn Ihr Spiel an Komplexität zunimmt.

Dies ist das Interface, das wir in unserem Spiel verwendet haben, um die Feinde als Objekte zu markieren, die angegriffen werden können.

TryGetComponent

Wichtige Punkte

  • raycastHit: Dies bezieht sich auf das Ergebnis eines Raycast-Treffers. Wenn Sie in Unity einen Strahl werfen, erhalten Sie Informationen darüber, welches Objekt getroffen wurde;
  • .TryGetComponent(out IGetAttacked getAttacked): Diese Methode versucht, eine bestimmte Komponente aus dem GameObject-Transform zu erhalten. Das out-Schlüsselwort wird verwendet, um die abgerufene Komponente der Variablen getAttacked zuzuweisen, falls erfolgreich. Wenn nicht, wird alles unter diesem if ignoriert;
  • IGetAttacked: Dies ist der Schnittstellentyp, den der Code versucht, aus dem GameObject abzurufen. Es gibt an, dass das GameObject eine Komponente haben muss, die die IGetAttacked-Schnittstelle implementiert.

Wenn das GameObject, das vom Raycast getroffen wird, eine Komponente hat, die die IGetAttacked-Schnittstelle implementiert, wird die Variable getAttacked nach der Ausführung dieser Zeile eine Referenz auf diese Komponente halten. Andernfalls wird getAttacked der Wert null zugewiesen.

Was ist der Zweck der `TryGetComponent`-Methode in Unity?

Was ist der Zweck der TryGetComponent-Methode in Unity?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt