Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Mobile Development

Erstelle ein 2D-Plattformspiel mit Unity und der Dolby Audio API

by
Read Time:19 minsLanguages:
Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

German (Deutsch) translation by Władysław Łucyszyn (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Einführung

In diesem Tutorial erfahren Sie, wie Sie mit C # und Unity ein mobiles 2D-Spiel erstellen. Wir werden das Dolby Audio Plugin für Unity nutzen, um das Hörerlebnis des Spiels zu verbessern. Das Ziel des Spiels ist einfach und erreicht die andere Seite des Levels, während man Gegner vermeidet und Münzen sammelt.

In diesem Lernprogramm lernen Sie die folgenden Aspekte der Unity-Spielentwicklung kennen:

  • Einrichten eines 2D-Projekts in Unity
  • Erstellen von Prefabs
  • Bewegungs- und Aktionsknöpfe
  • Arbeiten mit Physikkollisionen
  • mit einem Sprite-Blatt
  • Integration der Dolby Audio API

1. Erstellen Sie ein neues Unity-Projekt

Öffnen Sie Unity und wählen Sie im Menü Datei die Option Neues Projekt, um den neuen Projektdialog zu öffnen. Sagen Sie Unity, wo Sie das Projekt speichern möchten, und legen Sie das Dropdown-Menü Standardeinstellungen einrichten für: 2D fest.


2. Erstellen Sie Einstellungen

Im nächsten Schritt wird Ihnen die Benutzeroberfläche von Unity angezeigt. Legen Sie das Projekt für die mobile Entwicklung fest, indem Sie im Menü Datei die Option Buildeinstellungen auswählen und Android als Zielplattform auswählen.


3. Geräte

Da wir gerade dabei sind, ein 2D-Spiel zu erstellen, müssen wir nach der Auswahl der Zielplattform zunächst die Größe der Grafik auswählen, die wir im Spiel verwenden. Da Android eine offene Plattform ist, stehen auf dem heutigen Markt eine Vielzahl von Geräten, Bildschirmauflösungen und Pixeldichten zur Verfügung. Einige der häufigsten sind:

  • Samsung Galaxy SIII: 720px x 1280px, 306 ppi
  • Asus Nexus 7 Tablet: 800px x 1280px, 216 ppi
  • Motorola Droid X: 854px x 480px, 228 ppi

Auch wenn wir uns in diesem Lernprogramm auf die Android-Plattform konzentrieren, können Sie denselben Code für alle anderen von Unity unterstützten Plattformen verwenden.


4. Grafiken exportieren

Abhängig von den Geräten, auf die Sie ausgerichtet sind, müssen Sie möglicherweise die Grafik für das Spiel in die empfohlene Größe und Pixeldichte konvertieren. Sie können dies in Ihrem bevorzugten Bildbearbeitungsprogramm machen. Ich habe die Funktion Größe anpassen... unter dem Menü Extras in der OS X-Vorschauanwendung verwendet.


5. Unity-Benutzeroberfläche

Bevor Sie beginnen, stellen Sie sicher, dass Sie im Szenenfenster auf die Schaltfläche 2D klicken. Sie können auch die Auflösung ändern, die im Spielfenster angezeigt wird.


6. Spielschnittstelle

Die Schnittstelle unseres Spiels wird einfach sein. Der obige Screenshot gibt dir eine Vorstellung von der Artwork, die wir verwenden werden und wie die finale Spieloberfläche aussehen wird. Sie finden das Artwork für dieses Tutorial in den Quelldateien dieses Tutorials.


7. Programmiersprache

Sie können eine der drei Programmiersprachen verwenden, wenn Sie Unity, C #, UnityScript, eine Variante von JavaScript und Boo verwenden. Jede dieser Programmiersprachen hat ihre Vor- und Nachteile und es liegt an Ihnen, zu entscheiden, welche Sie bevorzugen. Meine persönliche Vorliebe geht an die C # -Programmiersprache, das ist die Sprache, die ich in diesem Tutorial verwenden werde.

Wenn Sie sich für eine andere Programmiersprache entscheiden, sollten Sie sich die Beispielreferenz von Unity ansehen.


8. 2D-Grafiken

Unity hat sich einen Namen geschaffen, um eine großartige Plattform für die Erstellung von 3D-Spielen für verschiedene Plattformen zu schaffen, wie Microsofts Xbox 360, Sonys PS3, Nintendos Wii, das Internet und verschiedene mobile Plattformen.

Während es immer möglich war, Unity für die Entwicklung von 2D-Spielen zu verwenden, wurde erst mit der Veröffentlichung von Unity 4.3 die native 2D-Unterstützung eingeführt. Wir werden lernen, wie man in den nächsten Schritten mit Bildern statt mit Texturen als Sprites arbeitet.


9. Soundeffekte

Ich werde eine Reihe von Sounds verwenden, um ein großartiges Hörerlebnis für das Spiel zu schaffen. Die in diesem Tutorial verwendeten Soundeffekte wurden von as3sfxr und PlayOnLoop bezogen.


10. Importieren Sie Assets

Bevor wir mit der Codierung beginnen, müssen wir unsere Assets dem Unity-Projekt hinzufügen. Sie können dies auf verschiedene Arten tun:

  • Wählen Sie im Menü Assets die Option Neues Asset importieren
  • Fügen Sie die Elemente zum Ordner Assets in Ihrem Projekt hinzu
  • Ziehen Sie die Elemente in das Projektfenster und legen Sie sie dort ab

Nach Abschluss dieses Schritts sollten Sie die Assets im Ordner Assets Ihres Projekts im Projektfenster sehen.

11. Erstellen Sie eine Szene

Wir sind bereit, die Szene unseres Spiels zu erstellen, indem wir Objekte in das Hierarchie- oder Szenenfenster ziehen.


12. Hintergrund

Beginnen Sie mit dem Ziehen und Ablegen des Hintergrunds in das Hierarchiefenster. Es sollte automatisch im Szenenfenster erscheinen.

Da das Szenenfenster so eingestellt ist, dass eine 2D-Ansicht angezeigt wird, werden Sie feststellen, dass die Auswahl der Hauptkamera in der Hierarchie eine Vorschau dessen anzeigt, was die Kamera anzeigen wird. Sie können dies auch in der Spielansicht sehen. Um die gesamte Szene sichtbar zu machen, ändern Sie im Inspektorfenster den Wert für Größe der Hauptkamera auf 1.58.


13. Etage

Der Boden wird verwendet, um unseren Hauptcharakter vor dem Fallen zu bewahren, sobald wir Physik zum Spiel hinzugefügt haben. Ziehen Sie es aus dem Ordner Assets und positionieren Sie es wie unten gezeigt in der Szene.


14. Stock Collider

Um den Boden zu erkennen, wenn der Charakter ihn berührt, müssen wir eine Komponente hinzufügen, genauer gesagt einen Box Collider 2D.

Wählen Sie das Stockwerk in der Szene aus, öffnen Sie das Inspektorfenster und klicken Sie auf Komponente hinzufügen. Wählen Sie aus der Liste der Komponenten Box Collider 2D aus dem Bereich Physik 2D aus.

15. Sprungtaste

Wir werden Tasten verwenden, um unseren Hauptcharakter im Spiel zu steuern. Ziehen und positionieren Sie die Sprungschaltfläche in der Szene und fügen Sie eine Circle Collider2D-Komponente hinzu, wie im vorherigen Schritt gezeigt.


16. Springton

Um einen Ton zu spielen, wenn der Charakter springt, müssen wir ihn zuerst an die Sprungtaste anhängen. Wählen Sie es in der Hierarchie- oder Szenenansicht aus, klicken Sie im Inspektorfenster auf die Schaltfläche Komponente hinzufügen und wählen Sie im Abschnitt Audio die Option Audioquelle.

Deaktivieren Sie Bei Erwachung wiedergeben und klicken Sie auf den kleinen Punkt rechts unter dem Zahnradsymbol, um den Sound auszuwählen, den Sie wiedergeben möchten, wenn der Player auf die Schaltfläche klickt. Im nächsten Schritt implementieren wir die Logik für die Wiedergabe des Sounds, wenn der Player auf die Schaltfläche klickt.


17. Sprung-Skript

Lassen Sie uns das Skript erstellen, das unseren Charakter steuert. Wählen Sie die Sprungschaltfläche und klicken Sie im Inspektorfenster auf die Schaltfläche Komponente hinzufügen. Wählen Sie Neues Skript und nennen Sie es Jump. Vergessen Sie nicht, die Sprache in C# zu ändern.

Öffnen Sie die neu erstellte Datei und fügen Sie das folgende Code-Snippet hinzu.

Das Code-Snippet mag entmutigend wirken, aber es ist eigentlich ziemlich einfach. Wir erhalten zuerst einen Verweis auf das Heldenobjekt, eine Instanz der GameObject-Klasse, damit wir es später verwenden können. Wir erkennen dann, ob der Benutzer den Sprungknopf berührt und, falls dies der Fall ist, fügen Sie dem Heldenobjekt eine Kraft hinzu. Last but not least spielen wir den Springton, wenn die Sprungtaste angetippt wird.

18. Bewegungstasten

Die Schritte zum Hinzufügen und Implementieren der Bewegungstasten, links und rechts, sind sehr ähnlich. Beginnen Sie mit dem Platzieren der Schaltflächen in der Szene und fügen Sie jeder Schaltfläche einen Circle Collider 2D wie bei der Sprungschaltfläche hinzu.



19. Bewegungsskripte

Erstellen Sie ein neues Skript, hängen Sie es an die linke Schaltfläche an und nennen Sie es MoveLeft. Ersetzen Sie den Inhalt durch das folgende Code-Snippet, das die MoveLeft-Methode enthält.

In diesem Skript erstellen wir ein Array der Elemente, die als Moveable gekennzeichnet sind. Wir werden sie später in diesem Lernprogramm kennzeichnen, um es einfacher zu machen, sie alle gleichzeitig zu verschieben. Um die Elemente zu verschieben, prüfen wir zunächst, ob der Button berührt wird und ändern die Position mit moveSpeed in der Update-Funktion. So einfach ist das.

Erstellen Sie ein anderes Skript, hängen Sie es an die rechte Schaltfläche an und nennen Sie es MoveRight. Dieses Skript enthält die MoveRight-Methode und ihre Implementierung ähnelt der MoveLeft-Methode, die wir vor kurzem gesehen haben. Wir ändern die Richtung der Bewegung, indem wir += moveSpeed durch -= moveSpeed ersetzen. Dadurch wird die Szene in die entgegengesetzte Richtung verschoben.

Im MoveRight-Skript überprüfen wir auch, ob der Spieler das Level abgeschlossen hat.

Die Alert-Funktion erstellt und zeigt eine Nachricht an den Player und spielt den Sound, der dem Hintergrund-Sprite zugeordnet ist. Damit dies funktioniert, fügen Sie dem Hintergrund-Sprite den entsprechenden Sound hinzu, wie wir bereits in diesem Tutorial gesehen haben. Wir verstecken auch die Tasten und starten das Spiel mit einer Verzögerung von zwei Sekunden neu.

20. Sprite Blatt

Wir werden ein Sprite-Blatt für den Rest der Spielelemente verwenden. Unity verfügt über einen Sprite-Editor, der die Verwendung von Sprites zum Kinderspiel macht. Das in diesem Tutorial verwendete Bildmaterial wurde von OpenGameArt.org bezogen.

Importieren Sie das Bildmaterial, wählen Sie es im Bedienfeld Elemente aus, und ändern Sie die Option Sprite-Modus im Bereich Informationen in Mehrere.

Öffnen Sie den Sprite-Editor, indem Sie auf die Schaltfläche unten klicken und Schnitt > Automatisch auswählen.


21. Held

Wenn das Sprite-Blatt in Scheiben geschnitten und einsatzbereit ist, klicke auf den Pfeil, der erscheint, wenn das Sprite-Blatt ausgewählt ist, und wähle das Sprite für den Helden, den Hauptcharakter unseres Spiels. Platziere es auf der Szene und füge eine Collider 2D-Komponente hinzu.


22. Held RigidBody 2D

Um eine Kollision mit unserem Helden zu erkennen, muss mindestens eines der kollidierenden Objekte mit einer RigidBody 2D-Komponente verbunden sein. Um einen Helden zu unserem Helden hinzuzufügen, wählen Sie im Bereich Informationen die Option "Komponente hinzufügen", gefolgt von Physik 2D > RigidBody 2D.

Aktivieren Sie das Kästchen Festwinkel, um zu verhindern, dass sich der Held bei einer Kollision dreht.

23. Heldenton

Wenn unser Held von einem Gegner getroffen wird, spielen wir einen anderen Sound, um dem Spieler Feedback zu geben. Wenn Sie jemals Super Mario Bros. gespielt haben, dann wissen Sie wahrscheinlich, welchen Effekt wir haben. Um dies zu erreichen, müssen wir zuerst den Sound hinzufügen. Wählen Sie es in der Hierarchie- oder Szenenansicht aus, klicken Sie im Inspektorfenster auf die Schaltfläche Komponente hinzufügen und wählen Sie im Abschnitt Audio die Option Audioquelle.

Die Details der Audiokomponente werden im Inspektorfenster angezeigt. Klicken Sie auf den Punkt unter dem Zahnradsymbol und wählen Sie den Schlagsound.

24. Münzen sammeln

Wie bei vielen herkömmlichen 2D-Plattformen können Sie in unserem Spiel Münzen sammeln. Da wir dieses Objekt im Spiel mehrmals verwenden werden, werden wir es in ein Prefab konvertieren, sobald wir alle erforderlichen Komponenten hinzugefügt haben.

Ziehen Sie die Münze aus dem Ordner Assets und fügen Sie einen Collider2D wie in den vorherigen Schritten beschrieben hinzu.


25. Münzen Sound

Wir spielen einen Ton, wenn unser Held eine Münze sammelt. Fügen Sie eine Audio Source-Komponente hinzu, wie wir es vorhin gesehen haben, und wählen Sie den Münzenton aus den Projekt-Assets aus.



26. Münz-Skript & Fertig

Befestigen Sie dieses einfache Skript an der Münze. Es erkennt, wenn die Münze und der Held kollidieren. Die Münze wird zerstört und ein Ton wird gespielt, um anzuzeigen, dass die Münze vom Helden gesammelt wurde.

Ziehen Sie die Münze mit allen Komponenten aus dem Hierarchiebedienfeld in das Bedienfeld Elemente, um sie in ein Prefab zu konvertieren. Sie werden feststellen, dass der Text blau wird und anzeigt, dass es jetzt ein Prefab ist.


27. Feind

Vergessen wir nicht die Feinde des Spiels. Ziehen Sie das Bildmaterial für den Feind aus dem Ordner Assets und fügen Sie zwei Collider 2D-Komponenten hinzu, wie in der folgenden Abbildung gezeigt.


Die Collider werden verkleinert, um zu verhindern, dass der Held mit beiden Colliders kollidiert. Ändern Sie die Einstellungen jeder Collider 2D-Komponente wie folgt.

Der erste Collider im Panel ist der oberste Collider, den wir dem Gegner hinzugefügt haben. Es wird erkennen, ob der Held auf den Feind springt und ihn zerstört. Die Logik für diese Aktion wird im folgenden Skript gezeigt.

Wir markieren den zweiten Collider als Trigger, indem wir das Kontrollkästchen Is Trigger aktivieren. Es erkennt, wenn der Feind auf den Helden trifft oder umgekehrt. Wenn das passiert, verliert der Spieler das Spiel.


Das an den Feind angehängte Skript wird unten gezeigt und implementiert die Logik, die wir gerade besprochen haben. Wie Sie sehen können, wird der Feind in jedem Bild nach links verschoben und das Skript erkennt, wenn der Held auf den Feind springt oder wenn der Held in den Feind hineinrennt.


28. Ziegel

Ziegel werden als Plattformen verwendet. Der Held kann auf die Steine springen, um Feinden auszuweichen und Münzen zu sammeln. Ziehen Sie die Steingrafik aus dem Bedienfeld Elemente und fügen Sie ihr eine Collider-2D-Komponente hinzu. Vergiss nicht, es in ein Prefab zu konvertieren, da es im Spiel ziemlich oft verwendet wird.


29. Das Ende

Wir verwenden ein Sprite, um die Ziellinie des Levels zu zeigen. Ziehen Sie es aus dem Bedienfeld Elemente in die Szene, wie in der folgenden Abbildung gezeigt.

30. Dolby Audio Plugin


Mit dem Dolby Audio Plugin für Unity können wir das Hörerlebnis unseres Spiels verbessern. Lassen Sie mich zuerst erklären, warum Sie das Dolby Audio Plugin verwenden sollten und wie es Ihr Spiel verbessern wird.

Dolby Digital Plus ist eine fortschrittliche Audiolösung, die in viele mobile Geräte einschließlich Tablets integriert ist. Mobile Anwendungen können die Dolby Digital Plus-Funktionen über API nutzen. Einige der Vorteile umfassen Audio-Optimierung, Volume Maximization und Volume Leveling. Dolby hat seine API für verschiedene Plattformen wie Android und Kindle Fire verfügbar gemacht. In unserem Spiel werden wir das Dolby Audio Plugin für Unity nutzen.

Beachten Sie, dass das Plugin für Unity kostenlos zu verwenden und sehr einfach zu integrieren ist. Mit anderen Worten, es gibt keinen Grund, es nicht in dein nächstes Spiel aufzunehmen.

Laden Sie zunächst das Dolby Unity-Plug-in herunter. Sie können es aus dem Unity Asset Store oder direkt von der Entwicklerwebsite von Dolby herunterladen. Wenn Sie die letztere Option wählen, erstellen Sie ein kostenloses Konto, um das Plug-in herunterzuladen, oder melden Sie sich an, wenn Sie bereits ein Dolby-Entwicklerkonto besitzen. Extrahiere das Paket und kopiere die benötigte Version in Assets > Plugins > Android. So einfach ist es, das Plugin für Unity zu installieren.

Erstellen Sie ein neues Skript und hängen Sie es an ein Objekt an, das im Spiel immer vorhanden ist, wie der Hintergrund oder die Kamera. Benennen Sie das Skript Dolby und füllen Sie es mit dem folgenden Code-Snippet auf.

Ich bin mir sicher, dass Sie zustimmen, dass es sehr einfach ist, die Dolby Audio API in Ihr Spiel zu integrieren. Wir erstellen zuerst ein debugText-Objekt vom Typ GameObject, um Feedback vom Gerät zu erhalten. Wir importieren dann die erforderlichen Funktionen, die von der Dolby Audio-API definiert wurden, und initialisieren die Dolby Audio-API, wenn das Gerät des Benutzers dies unterstützt.

Um sicherzustellen, dass der Dolby-Dienst aktiviert ist, warten wir kurz (0,1 Sekunden), bevor wir die initialize() - Methode aufrufen. Wenn Sie dies nicht tun, besteht die Möglichkeit, dass Sie einen Fehler von -1 erhalten, der auftreten kann, wenn Sie versuchen, Dolby beim Errichten des Dienstes zu aktivieren.

Dolby hat auch Funktionen zum Aussetzen und Neustarten des Sounds bei Bedarf, was nützlich ist, wenn wir zu einer anderen Anwendung wechseln und die Klangverbesserung nicht benötigen. Dies ist wichtig, um Batteriestrom und andere Geräteressourcen zu sparen. Wir können die Tonverbesserung auch vollständig stoppen, indem wir die release wie in OnApplicationQuit aufrufen.


31. Testen

Es ist Zeit, das Spiel zu testen. Drücken Sie Befehl-P, um das Spiel in Unity zu spielen. Wenn alles wie erwartet funktioniert, sind Sie bereit für die letzten Schritte.


32. Spielereinstellungen

Wenn Sie mit Ihrem Spiel zufrieden sind, wählen Sie im Menü Datei die Option Buildeinstellungen und klicken Sie auf die Schaltfläche Playereinstellungen. Dadurch sollten die Player-Einstellungen im Inspektorfenster angezeigt werden, in dem Sie die Parameter für Ihre Anwendung festlegen können.

Diese Einstellungen sind anwendungsspezifisch und umfassen den Ersteller oder das Unternehmen, die Anwendungsauflösung, den Anzeigemodus usw. Diese Einstellungen hängen von den Geräten ab, auf die Sie ausgerichtet sind, sowie von den Stores oder Märkten, auf denen Sie Ihr Spiel veröffentlichen.


33. Symbole und Splash-Bilder

Mit den Grafiken, die Sie zuvor erstellt haben, können Sie jetzt ein schönes Symbol und ein Splash-Bild für Ihr Spiel erstellen. Unity zeigt Ihnen die erforderlichen Größen an, die von der Plattform abhängen, für die Sie erstellen.

34. Bauen und spielen


Sobald Ihr Projekt ordnungsgemäß konfiguriert ist, ist es an der Zeit, die Buildeinstellungen erneut aufzurufen und auf die Schaltfläche Erstellen zu klicken. Das ist alles, was Sie brauchen, um Ihr Spiel zu testen und / oder zu verteilen.

Fazit

In diesem Tutorial haben wir das neue Dolby Audio Plugin für Unity, Sprite-Sheets, Steuerelemente, Kollisionserkennung und andere Aspekte der Spieleentwicklung mit Unity kennengelernt. Ich ermutige Sie, mit dem Ergebnis zu experimentieren und das Spiel so anzupassen, dass es zu Ihren eigenen passt. Ich hoffe, dir hat dieses Tutorial gefallen und es war hilfreich.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.