Einen Weltraum-Shooter erstellen in Godot | Michael Mcguire | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Einen Weltraum-Shooter erstellen in Godot

teacher avatar Michael Mcguire, Author | Programmer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Einführung

      0:27

    • 2.

      Wo kann ich Godot herunterladen

      1:19

    • 3.

      Projekt-Setup

      2:31

    • 4.

      Scrolling

      13:33

    • 5.

      Window

      4:36

    • 6.

      Player

      4:27

    • 7.

      Spielerbewegung

      11:06

    • 8.

      Animation für Spieler

      9:56

    • 9.

      Diagonale Bewegung

      3:23

    • 10.

      Game

      4:57

    • 11.

      Shooting

      16:46

    • 12.

      Stromaufnahmen erstellen

      2:38

    • 13.

      Animating Ups

      6:03

    • 14.

      Schalte Spawner ein

      17:56

    • 15.

      Energieaktivierung

      15:43

    • 16.

      Schilde

      11:23

    • 17.

      Multi Shot

      6:59

    • 18.

      Kleine Änderungen

      2:26

    • 19.

      Feindliche Einrichtung

      5:09

    • 20.

      Feindliche Schießen

      16:37

    • 21.

      Speicherlecks

      6:13

    • 22.

      Vertikale Bewegung

      3:40

    • 23.

      Enemy

      12:01

    • 24.

      Geschoss getroffen

      5:58

    • 25.

      Gesundheit und Schild Schäden

      6:53

    • 26.

      Gesundheitliche Gewinn

      3:36

    • 27.

      Hör auf, dich gegenseitig zu schießen.

      5:01

    • 28.

      Spawn Animationen

      4:46

    • 29.

      UI Kreation

      8:41

    • 30.

      UI aktualisieren

      10:32

    • 31.

      Particle

      12:12

    • 32.

      Spiel vorbei

      7:41

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

74

Teilnehmer:innen

1

Projekte

Über diesen Kurs

Lerne, Spiele in der Godot Spiel-Engine mit einer python-like Programmiersprache GDScript zu erstellen.

In diesem Kurs erstellen wir ein Space Shooter Spiel, das plattformübergreifend für MacOS, Windows, Linux, Android, IOS oder sogar in einen Browser eingebettet ist.

Während auf deiner Reise zur Entwicklung von Spielen erhältst du die Fähigkeiten und die Fähigkeit, den Space Shooter zu erstellen, den du möchtest.

****Wenn du keine Erfahrung mit der Programmierung hast oder dich mit der Sprache vertraut machen möchtest, wird mein Kurs zum Erlernen der GDscript empfohlen, um wenigstens zu helfen, grundlegende code und -struktur zu learn


lernst:

  • Die Schichten und Masken

  • So erstellen Sie Spawners

  • Benutze Gruppen

  • Wiederverwendbare Skripte und Objekte

  • Inventarverwaltung

  • Reimporting von Assets mit verschiedenen Einstellungen

  • Die Wichtigkeit der Dateiorganisation

    und vieles mehr …


    ****Wenn du keine Erfahrung mit der Programmierung hast oder dich mit der Sprache vertraut machen möchtest, wird mein Kurs zum Erlernen der GDscript empfohlen, um wenigstens zu helfen, grundlegende code und -struktur zu learn

    bietet eine riesige Reihe von gängigen Tools, sodass du dich einfach auf dein Spiel konzentrieren kannst, ohne das Rad neu zu erfinden.

    Godot ist komplett kostenlos und open-source der sehr zulässigen MIT Lizenz. Keine Saiten angebracht, keine Lizenzgebühren, nichts. Dein Spiel gehört dir, bis zur letzten Zeile des Motorcodes.

Triff deine:n Kursleiter:in

Teacher Profile Image

Michael Mcguire

Author | Programmer

Kursleiter:in
Level: All Levels

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Einführung: Das Erstellen eines Weltraum-Shooters ist eine klassische Methode, um in die Erstellung von Videospielen eingeführt zu werden. In diesem Kurs werden wir uns einige verschiedene Mechaniken ansehen, einschließlich eines scrollenden Hintergrunds. Klassiker für Spiele wie dieses, mit verschiedenen Tonabnehmern, die wir aktivieren können, werden wir unsere eigenen kleinen Explosionen mit dem Partikelsystem erstellen . Wir werden ein Multi-Shot-System entwickeln, um mitzumachen und zu lernen, wie man heute einen Weltraum-Shooter macht. 2. Wo kann ich Godot herunterladen: In Ordnung, willkommen alle. Und wenn du noch nicht die Engine verfügst, um unser Spiel heute hier zu erstellen, über die Engine verfügst, um unser Spiel heute hier zu erstellen, kannst du auf Godot Engine.org gehen und direkt von der Website abholen, indem du den Download-Tab hier auf der oben. Sie benötigen nur die Standardversion , um diesen Kurs zu befolgen. Die Mono-Version unterstützt C-Sharp. Wir werden jedoch kein C-Sharp verwenden, obwohl Sie es abholen können. Sie müssen es nicht benutzen. Würde die Standardversion nicht verwenden, ganz gut. Diese Engine ist unter Linux, Mac und Windows sowie direkt im Webbrowser verfügbar. Wenn du es weißt, wie hast du geknallt? Wir können sehen, wir können hier einfach ein bisschen nach unten scrollen und Sie haben dort Ihre Anweisungen. Beim Aufheben des. Sie können dies auch direkt aus dem GitHub-Repository erstellen . Und wie Sie dort sehen können, gibt es auch eine Seite, auf der Sie es abrufen können, sowie die Steam-Seite , auf der Sie es abrufen können. Wo auch immer Sie sich entscheiden, es zu kaufen, liegt ganz bei Ihnen. So oder so. Stellen Sie einfach sicher, dass Sie es abholen. Und wir sehen uns in der nächsten , wo wir anfangen können. 3. Projekt-Setup: In Ordnung, sobald Sie den Motor zum ersten Mal geöffnet haben , werden Sie auf diesen Bildschirm stoßen. Natürlich werden Sie in lokalen Projekten nichts haben, es sei denn, Sie haben hier schon einmal Dinge getan. Aber wir werden hier auf die Schaltfläche Neues Projekt klicken. Sie können Ihrem Projekt einen Namen geben und überall stöbern, wo immer Sie es möchten. Und wenn Sie das tun, können Sie einfach auf die Schaltfläche Ordner erstellen klicken. Und ein neues Verzeichnis wird erstellt. Zum Beispiel mein Demo-Spiel. Wenn ich auf Ordner erstellen klicke, wird es gehandelt. Sie können entweder GL ES 3 oder 2 verwenden. Es sollte in diesem speziellen Projekt keinen Unterschied machen . Und wenn Sie sich das in Zukunft ansehen, müssen Sie hier vulkanische Optionen wählen. Nichts von dem, was sie wirklich machen wird , macht einen Unterschied darin , welches wir hier auswählen. Aus diesem Grund belasse ich es einfach auf OpenGL-Drei-Punkt. Oh, ich verstehe. Kein Grund, das zu ändern. Und ich werde einfach schon auf „Abbrechen“ klicken. Lass hier ein leeres erstellen. Damit wir das öffnen können. Okay, jetzt, wo wir ein Projekt geöffnet haben, wir jetzt, wo wir unser Projekt geöffnet haben können wir jetzt, wo wir unser Projekt geöffnet haben, weitermachen und wir können hier oben zur Projekt-Registerkarte gehen und unser Projekt einrichten. Was wir also tun werden, ist, dass wir weitermachen und innerhalb der Config, innerhalb der Anwendung, wählen wir die Verwendung von Custom Dare aus. Und auf diese Weise können wir unsere Logs einen Ordner mit unserem Spielnamen verschieben , der etwas professioneller aussieht. Wenn ein Benutzer aus irgendeinem Grund auf die Protokolle zugreifen muss Sie ihm einen benutzerdefinierten Namen geben möchten, können Sie dies hier tun. Ich werde mir nicht die Mühe machen. Ich kann es einfach als meinen Projektnamen belassen. Wenn wir jetzt nach unten scrollen, können wir nach dem Abschnitt Display suchen und in das Fenster gehen. Für diesen Hintergrund , den ich hier habe , werden wir ihn als T2 und T4 um 400 verwenden. Darauf werde ich unser Fenster stellen. Jetzt passen wir die tatsächliche Größe später an. Aber im Moment setzen wir unser Fenster ein, 224 mal 400. Wir stellen es ein, stellen sicher, dass es auf unserem Handgerät ist, oder stellen es auf Hochformat und Infrastruktur ein. Wir können es auf 2D setzen und den Aspekt, der beibehalten werden soll. Und jetzt ist unser Projekt startklar und wir können zum nächsten Video springen und anfangen, die Dinge tatsächlich zu erledigen. 4. Scrolling: Okay, als Erstes richten wir richten unseren Scroll-Hintergrund für unseren Weltraum-Shooter ein. Da unser Spieler keine tatsächliche Bewegung ausführen wird , so weit wie das Herumlaufen, wie Sie es in einem Plattformer sehen würden. Bei einem Weltraum-Shooter bewegt sich der Hintergrund tatsächlich und der Spieler bleibt stationär und bewegt sich auf dem sichtbaren Bildschirm. Dazu nimmst du die Texturen, die ich in diesem Kurs aufgenommen habe. Und Sie können sie in Ihr Projekt einbeziehen. Zur Zeit habe ich hier nur einen Sprites-Ordner. Und ich habe meinen Hintergrund, Brendan. Und ich habe hier einen Ordner namens scenes, in dem ich all meine individuellen Szenen, die wir hier erstellen, aufbewahren werde. Die erste, die wir erstellen werden, wird World heißen. Das würde die 2D-Szene hier am oberen oder Wurzelknoten treffen . Und ich werde weitermachen und meine Welt umbenennen. Und dann kannst du zur Szene gehen oder hier oben und speichern. Oder Sie drücken Control C oder sorry, Control S oder Control Shift S, um Ihre Szene zu speichern . Ich werde diese schließen weil ich hier eine leere erstellt habe. Und los geht's. Du solltest es so aussehen lassen. So sollte unser Projekt aussehen. Und Sie können diesen schwachen blauen Umriss hier sehen. Das ist im Grunde unser Canvas. Das wird in unserem Fenster gerendert. Also ist alles innerhalb dieses blauen Rechtecks sichtbar. Alles außerhalb davon wird es nicht tun. Also werde ich weitermachen und mein Hintergrund-Punkt-PNG einbringen . Jetzt können wir es einfach hineinziehen und wir können es einfach so einwerfen. In unserem Fall ist es völlig in Ordnung, dass wir es einfach hineinziehen, da es als Sprite funktionieren wird. In einigen Fällen möchten Sie vielleicht den Plus-Button hier oben drücken und alles hinzufügen , wonach Sie suchen möchten. In diesem Fall war es ein Kratzen. Und dann können Sie das Bild einfach direkt in den Texturschlitz hier rechts ziehen . Jetzt werde ich sicherstellen, dass es sich hier um Setup-Eigenschaften handelt . Ich schiebe meins nach links, eins nach unten. Auf diese Weise füllt es meinen gesamten Bildschirm aus. Und jetzt, wenn ich diesen Play-Button hier oben drücke, die Play-Szene-Taste auf ist die Play-Szene-Taste auf der Windows-Verknüpfung F. Wie Sie sehen können, werde ich das drücken und ich sollte jetzt mein eigenes kleines Fenster haben mein eigenes kleines Fenster und das sehen Hintergrund nahm die ganze Sache auf. Nun habe ich gesagt, dass wir diese Fenstergröße später anpassen werden , da dies je nach Monitor wiederum je nach Monitor riesig oder extrem klein aussehen kann. Wir gehen, ich habe mein Fenster hier oben auf dem Bildschirm gebracht. Also was du hier drüben in unserer kleinen roten Box siehst, tut mir leid, es ist keine kleine rote Kastenansicht. Was sie hier ist, das ist jetzt genau das, was wir in unseren Spielen sehen. Das geht auf die rechte Seite. Wie Sie sehen, kann dies je nach Auflösung Ihres Monitors sehr klein oder extrem groß sein oder extrem groß sein. Das werde ich nicht wissen. Aber wenn wir unsere Fenstergröße ändern, können Sie die Werte dort anpassen. Aber im Moment können wir sehen, dass es unser ganzes Fenster bedeckt. Und es sieht gut aus. Es bewegt sich einfach nicht. Was wir also tun werden, ist, dass wir unsere Bewegung dafür schaffen müssen . Und alles was es tun wird ist einfach runter zu gehen. Also werden wir ein Skript erstellen. Jetzt können Sie hier mit der rechten Maustaste auf unseren Hintergrund klicken und auswählen, wo unsere Aufgabe genau dort ist, angehängtes Skript. Oder wenn es ausgewählt ist, können Sie einfach den angehängten Script-Button hier oben drücken , so wie ich es normalerweise mache. In jedem Fall werden Sie hier mit diesem Menü erzogen. Wir werden die GD-Skriptsprache verwenden. Wie Sie standardmäßig sehen, haben wir Visual Script, Kiddies Script und Native. Und wenn Sie das Mono versus haben, hätten Sie auch eine C-Sharp-Option. Aber für diesen Kurs verwenden wir wieder nur GD-Skript, das ausgewählt wurde. Es erbt von einem Sprite, weil das der Typ ist unser Hintergrund ist, die Vorlage. Wir können es einfach auf Standard belassen. Wir benötigen kein eingebautes Skript. Und unseren Weg in unsere Szenen wollen wir nicht. Wir wollen die Dinge organisieren. Wir werden also einen neuen Ordner namens scripts erstellen. Und hier kleben wir unser Hintergrundskript fest und klicken auf Erstellen. In Ordnung, wir haben unsere Variablen hier. Und wir erstellen eine für die Bildlaufgeschwindigkeit. Jetzt verwenden wir Doppelpunkt gleich und können das auf eine Zahl setzen. Ich setze das jetzt auf zehn und wir werden sehen, wie gut das funktioniert. Wir werden die Ready-Funktion , die wir hier sehen, nicht benötigen . Und wenn Sie sehen, wie die Notiz hier aussieht, wird diese aufgerufen, sobald die Note zum ersten Mal in die Szene kommt. Das wollen wir nicht tun. Das wird etwas bewirken. Nur ein einmaliges Mal. Wir werden tatsächlich die Prozessfunktion verwenden. Das kann also kontinuierlich passieren , wenn beide Zeilen hier ausgewählt sind. Ich drücke einfach Control K, um diese auszukommentieren. Und wir können die pass-Funktion hier entfernen. Und wir können uns selbst Punktposition nennen. Ich hab's. Weil du das Auf und Ab sein wirst. Und darauf können wir setzen. Jetzt bin ich immer verwirrt darüber, ob es positiv ist, ob es hoch oder runter oder minus hoch und runter ist, oder? Mal sehen, lass uns plus gleich machen und wir werden sehen, wie das funktioniert. Ich setze das plus entspricht unserer Bildlaufgeschwindigkeit. In Ordnung, wir testen unsere Szene. Und das geht runter für, das geht super schnell. Das erste, was ich tun werde, ist Multiplizieren oder Scrollen Geschwindigkeit hier mal Delta. Und dies wird dazu beitragen, dass unser Spiel auch Frame-unabhängig ist. Unabhängig davon, wie viele Frames unser Spieler hat, welche sollten wir finden wenn es sich um ein wirklich altmodisches Spiel handelt? Und die Grafik ist hier nicht allzu anspruchsvoll. Aber so oder so machen wir das, sollte dazu führen, dass es in einer schönen, glatten Menge scrollt. Ungeachtet. Wenn wir einen Blick darauf werfen, kann sich dies, wie wir sehen, auch viel langsamer bewegen, weshalb ich diese Option anpassen werde , bevor ich meinen Bildschirm berühre. Wie schnell du willst, dass es sich bewegt, liegt ganz bei dir. Es liegt ganz bei dir und deinen Vorlieben. Ich glaube, ich möchte meine etwas langsamer machen. Versuchen wir es mit neun oder etwas extremer. Versuchen wir es zu schneiden und halbieren. Wir sehen mich hier um fünf. Okay, ich glaube, ich glaube ich mag fünf. Also denke ich, dass ich das mitmachen werde. Und jetzt brauchen wir unser Image. Du respektierst tatsächlich. Siehst du, wenn es ganz runter geht, ist es weg. Was wir also tun müssen, ist, dass wir, nachdem wir unsere Position festgelegt haben, tun können. Und wenn Sie hier nachsehen, könnten wir überprüfen, ob self dot session dot y. Wir könnten überprüfen, ob es größer als eine festgelegte Zahl ist. In diesem Fall wäre die Zahl 400. Sag größer oder gleich 400. Wenn wir dies hier jedoch zur Kenntnis nehmen, schließen die Notizen dies, um den Fehler zu beheben. Wenn wir dies zur Kenntnis nehmen, haben wir festgestellt, dass sich unsere Position tatsächlich in der Mitte unseres Bildes befindet. Wenn das also 400 überschritten wird , werden wir immer noch ein Halbteilbild sehen. Wir müssen also die Hälfte davon in oder die Hälfte unseres Bildes hinzufügen . In diesem Fall werden es also 600 sein. Und alles, was wir tun werden, ist die Position von y wieder auf die aktuelle Position zu setzen , dass Sie auf den Hintergrund klicken können und das direkt im Inspektor sehen können. Aber da ich weiß, dass das in der Mitte , sollten das 200 sein. Und wenn ich reinkomme und einen Blick auf transform werfe, liegt mein y definitiv bei 200. Um zu überprüfen , ob das funktioniert, ändere ich meine Süße auf 15. Wenn wir einen Blick darauf werfen, scrollt ein bisschen zu langsam nach unten, verdoppeln wir das auf 30 zum Testen. Und wir können sehen, dass es sich nach unten bewegt und sobald es den vollständigen unteren Bildschirmrand erreicht hat, sollte es wieder oben sein. Und scrolle einfach weiter nach unten. Los geht's. Los geht's. Das Problem, das wir hier haben, ist offensichtlich, dass wir das Bild sehen können oder das Fehlen eines Bildes dahinter. Und wir konnten offensichtlich sehen, dass dieses Bild endet. Das ist also mit Sicherheit ein Problem. Wir müssen also einige dieser Optionen optimieren. Und was wir tun werden ist, dass wir das auf setzen, wir werden eine neue Variable namens Lass uns das auf reset setzen. Wie haben wir es genannt? Zurücksetzen? Nennen wir es Reset Scroll. Ich sage minus ist gleich, setze es auf 0. Beachten Sie jetzt, dass ich hier export var verwende. Und wenn Sie dies in Zukunft beobachten, verwenden Sie möglicherweise Version 4.01 der Änderungen, die Sie hier vornehmen müssen, dies tatsächlich vor dem Export an Zeichen setzen . Aber wenn Sie Version drei verwenden, werden Sie das nicht brauchen. Was ist das? Was das tun wird, ist ein nasser Hintergrund ausgewählt. Sie können auf der rechten Seite sehen, wir können die Nummer davon ändern. Nun zu unseren Einzelheiten. Wir brauchen 600 für diesen speziellen. Also können wir dies setzen, unsere Position y wenn sie größer oder gleich ist. Scroll zurücksetzen. Auf diese Weise können wir seit seiner x-Koordinate dasselbe Skript für ein anderes verwenden , das völlig unterschiedliche Zahlen haben kann. So können wir eine andere für die Exportleiste machen, starten Sie den Bildlauf. Und damit können wir die Startposition festlegen, die für uns hier 200 ist. Und füllen Sie dies aus und ersetzen Sie es in unseren Code. In Ordnung, los geht's. Wenn ja, haben Sie einen Fehler, der über einen Knoten auftaucht? Gehen wir weiter und drücken die Stopptaste oben und öffnen sie wieder, oder spielen die Szene erneut ab. Und du solltest sehen, dass es immer noch einwandfrei funktioniert . Welches ist großartig. Denn jetzt können wir hier ganz andere Zahlen mit einer zweiten hinzufügen . Also werde ich weitermachen und meinen Hintergrund auswählen und Strg D drücken, um ihn zu duplizieren. Und ich schiebe meinen zweiten ganz nach oben. Ich sorge nur dafür, dass das perfekt eingestellt ist , damit wir nichts dazwischen sehen. Und jetzt können wir einfach unsere Zahlen hier optimieren . Unsere Startposition sollte also minus 200 sein. Und unsere Reset-Scroll, wir sollten dort ein Minus haben. Wäre das möglicherweise positive 200. Aber wenn wir das jetzt ausführen, sollten wir sehen, dass es wie ein zusammenhängendes Bild aussieht. Und wenn es zurückgesetzt wird , werden wir es nicht einmal bemerken, weil alles perfekt ausgerichtet sein wird. Es wird also immer wie eine konstante Schriftrolle aussehen. Da haben wir's. Wir haben jetzt unseren Scroll-Hintergrund. Nochmals, geh einfach da rein und schwächere Geschwindigkeit, was auch immer du möchtest. Und wenn Sie sich fragen, warum wir unsere Geschwindigkeit nicht exportieren, einfach weil wir den Geschwindigkeitswert für unsere beiden Hintergründe nicht ändern müssen . Wir können das einfach als dieselbe Nummer belassen. Also können wir hier runter kommen und es jetzt auf fünf ändern. Oder wenn Sie und oder 20 verwenden möchten, was auch immer Sie für Ihr Spiel verwenden möchten. Du siehst mich reinkommen und alles funktioniert einwandfrei. Wir haben jetzt einen scrollenden Hintergrund für unseren Weltraum-Shooter. 5. Window: Ordnung, in diesem Video sollte es nur einen Knochen brauchen , der ziemlich kurz sein muss. Wir werden jetzt nur unsere Fenstergröße anpassen , damit wir das jetzt aus dem Weg räumen können , anstatt später zurückzukommen und es zu besprechen. Was wir also tun werden, ist, das in ein globales Skript zu integrieren. Dies kann nun auch als Auto Load oder Singleton bezeichnet werden . Alles hängt von der Umgebung ab, in der Sie sich befinden, und von wem Sie sprechen. Aber sie werden im Allgemeinen alle als dasselbe angesehen. Wir sind einfach, es kommt wirklich darauf an, wie der Singleton in einem Designmuster sein wird. Ein globales ist etwas , auf das viel Bezug genommen wird. Und hier werden sie Autokredite genannt. Aber was ich tun werde ist, dass ich hier in mein Biosystem herunterkomme . Wählen Sie Scripts aus, klicken Sie mit der rechten Maustaste darauf und wählen Sie Und da es sich um ein globales Drehbuch handelt, nenne ich meins einfach global. Klicken Sie auf Erstellen. Ich komme hier hoch zu den Projekt- und Projekteinstellungen. Gehen Sie in die Registerkarte Auto Load, wecken Sie den Dateipfad auf oder öffnen Sie ihn. Wählen wir unser globales Skript aus. Klicken Sie auf die Schaltfläche Hinzufügen, und jetzt können Sie das Skript sehen, das geladen wird. Es ist aktiviert, was bedeutet, dass es aktiv ist. Und den Namen, den wir hier sehen, können Sie hier reinkommen und ihn ändern, wenn Sie möchten. Ich werde mein Wort global als uneinig belassen und dieses Wort, dieser Name ist, wie wir später auf dieses Skript zugreifen werden. Wenn wir jemals auf irgendetwas in diesem Bereich zugreifen mussten, ob es sich um Variablen handelt, sind andere Funktionen. Was wir also tun werden, ist dass wir hier einfach die Ready-Funktion verwenden. Und wir können weitermachen und den OS-Punktfenster-Bildschirm auf eine Fenstergröße einstellen . Unsere Fenstergröße entspricht unserer OS-Punktfenstergröße. Und wir können das auf unseren Multiplikator setzen. Wenn Sie möchten, können Sie hier hochkommen und eine Variable für den Größenmultiplikator erstellen . Und der Grund, warum wir das mit einem Doppelpunkt setzen , ist gleich. Wenn Sie sich fragen, anstatt nur ein Gleichheitszeichen zu verwenden, wie Sie hier sehen, was auch gültig ist. Aber wenn Sie hier nur das Gleiche verwenden, wird es auf zwei gesetzt. Wenn wir jedoch mit dem Doppelpunkt hier gleich sind, wird es auch auf die enge Zahl gesetzt , dass zwei eine Ganzzahl ist. Es wäre also dasselbe, als ob wir so vorgehen würden. Nur dort würden sie das tun , indem sie eine Lektion mit einem int schreiben, es ist nicht schlimm, aber manchmal hat man vielleicht etwas wirklich langes wie ein Wörterbuch. Und das verkürzt das Ganze wirklich, verkürzt die ganze Sache, um nur zwei Charaktere hier anzufangen. Wir setzen es auf zwei und deklarieren den Typ als was auch immer two ist. Wenn wir das ausführen, sehen wir jetzt, dass sich unser Fenster öffnet. Und jetzt muss ich die Größe hier ändern. Aber ich sehe jetzt, dass es sich öffnet. Unser Fenster ist doppelt so groß, erkennen ist, was je nach Bildschirm viel einfacher zu was los ist und für Sie viel besser spielbar ist. Aber jetzt kannst du reinkommen und er ändert einfach die Größe des Multiplikators, was auch immer du willst. Also, wenn du es kleiner machen willst, du Doug 0.75. Wenn du willst, wenn du auf dem Bildschirm bist, ist es vielleicht 720 P Bildschirm. Oder wenn Sie sich auf einem Fourier-Bildschirm befinden, können Sie diesen Multiplikator auf einen vielleicht vierfachen Multiplikator erhöhen , um etwas viel Größeres zu erhalten. Und wir behalten auch diese, die Auflösung bei und sehen genau, was hier drin ist und bewegen uns nicht über unseren Tellerrand hinaus. Denken Sie daran, dass wir aufgrund unserer Einstellung hier den Modus „ Dehnen“ auf 2D setzen und unseren Aspekt so einstellen, dass er beibehalten wird. In Ordnung. Jetzt, wo wir das immer am Laufen haben, unsere Fenster geschlossen und wir gehen zu einigen interessanteren Dingen über. 6. Player: Okay, lass uns loslegen und das Setup unseres Spielers übernehmen. Das erste, was wir tun müssen, ist eine brandneue Szene zu erstellen. Sie können das also tun, indem Sie hier oben auf den Plus-Button klicken. Und anstatt einen normalen Knoten für D zu erstellen , wie wir es für die Welt getan haben, , da dies ein Spieler sein wird , wollen wir, da dies ein Spieler sein wird , ein kinematischer Körper 2D sein, damit wir den anderen Knoten hier treffen können. Und wir könnten einfach Kinematik eingeben und sie dort teilen. Kinematischer Körper TD. Fahren Sie fort und wählen Sie das aus. Und ich ging weiter und benannte meinen Player um und speicherte ihn. Sobald Sie das getan haben, sollte es wie folgt aussehen. Höre das Wort Mutter's gelbes Dreieck. Wir werden das in einem Moment lösen. Sagen wir uns einfach , dass wir keine haben, wir haben unseren Kollisionsbereich noch nicht eingerichtet. Da ein Spieler also nicht weiß, wie man Physik anwendet. Das erste, was ich möchte, dass Sie tun, ist, wenn unser Player verschwommen ist und die Vorräte auch wieder Ihrem Hintergrund entsprechen. Also bringe ich es her. Sie können sehen, dass meins nicht verschwommen ist. Ich habe meine Filter ausgeschaltet, aber wenn ja, können Sie sie hier unten im Dateisystem auswählen . Gehen Sie hier hoch zur Registerkarte Import oben links. Und Sie werden den Filter hier bemerken, überprüfen und einschalten, ihn ausschalten und importieren. Andernfalls blutet es, wenn es eingeschaltet ist , so verschwommen. Was für einige Spiele in Ordnung sein könnte. Aber für Pixelkunst ist das schrecklich. Und Sie werden den Unterschied hier wieder sehen, wenn ich es ausschalte und erneut auf die Schaltfläche zum erneuten Importieren klicke. Es macht einen großen Unterschied in der Pixelkunst. Stellen Sie also sicher , dass Sie diese oder jede Textur, die wir in diesem Projekt verwenden, deaktiviert haben. Also werde ich das einfach hier rauslöschen, da wir das nicht wirklich so verwenden werden. Und das war's. Ich möchte mir keine Sorgen machen müssen, es an der richtigen Stelle zu platzieren. Was ich jetzt tun werde, ist meinen Spieler auszuwählen. Ich drücke diesen Plus-Knopf und hole das Sprite. Und jetzt wird es genau hier in der Mitte verschlossen sein , wo es sein sollte. Ich schnappe mir mein Sprite-Sheet und ziehe es direkt in den Texturschlitz meines Bildschirms. Jetzt gibt es viele Möglichkeiten, eine Animation zu erstellen. Und in diesem Fall habe ich für jede Zeile eine Trennung. Wir können also in der ersten Zeile sehen, dass wir unsere Leerlauf-Animation haben in der wir einfach so sind, als würden wir gerade fliegen. Und dann unsere nächsten beiden Linien dort, nächsten beiden Reihen bogen nach links und rechts ab. Damit wir das in einem normalen Sprite für eine Tabelle verwenden können. Wir werden hier auf diesen Animations-Tab gehen. Und wir werden acht Frames setzen, was horizontal auf zwei ist weil wir zwei Spalten haben. Und dann haben wir vertikale Rahmen drei Reihen. Also habe ich die drei gesagt. Und jetzt haben wir unseren ersten und Sie können hier mit dem Gehirnknopf zwischen ihnen wechseln , wie Sie sehen. Und so werden wir im Grunde genommen mit der Erstellung einer Animationsebene arbeiten . Später. Im Moment haben wir noch unser gelbes Dreieck hier. Also lasst uns weitermachen und erneut unseren Spieler auswählen. Das Plus, bring ein Kollisionspolygon, sorry, ich Kollisionsform. Eine Grundform reicht uns hier gut. Und wir können einfach ein Rechteck benutzen. Sie können dies so anpassen , wie Sie möchten, an Ihren Spieler. Ich werde weitermachen und meine Notizen einfach ein bisschen erweitern . Und ich lasse das Trinkgeld von der Spitze ganz gut. Ordnung. Das Letzte, was wir hier verwenden werden, ist, wo wir es brauchen, wir werden es brauchen. Also lass uns weitermachen. Wir werden unserem Player hier noch etwas hinzufügen. Und das wird der Animationsplayer sein. Was wird, wo wir am Ende Animationen erstellen und sie in bestimmten Fällen abspielen , in denen wir sie benötigen. In Ordnung, das reicht also für die Spielererstellung und das Setup des Spielers hier. Als nächstes werden wir loslegen und die Bewegungen einrichten. 7. Spielerbewegung: Ordnung, lassen Sie uns weitermachen und unseren Spieler dazu bringen, sich zu bewegen. Denn wenn wir diese Szene hier spielen würden , ist es ziemlich langweilig. Du sitzt einfach da oben. Und wenn wir in unsere Weltszene gehen und hier auf dieses Kettensymbol treffen, sehen wir, dass wir Zugang zu unseren anderen Szenen haben und wir werden unsere Spielerszene schnappen. Wir gehen einfach weiter und gehen in die Position, in der Sie Ihren Spieler haben möchten. Ich werde meins genau dort hinstellen. Und noch einmal, wenn wir es öffnen und einen Blick darauf werfen, wenn Sie sehen, ist es nicht sehr aufregend. Es bewegt sich, aber unser Spieler, es sitzt einfach als stationäres Bild da. Also können wir weitermachen und das in Ordnung bringen und das in Gang bringen. Wir werden in unseren Spieler gehen. In unserer Spielerszene. Wir klicken auf die Schaltfläche „Script hinzufügen“ und fügen ein Player-Skript hinzu. Denken Sie jetzt daran, dies in Ihren Scripts-Ordner zu legen , um die Dinge sauber und übersichtlich zu halten . Und mach weiter und erstelle es. Und das haben wir. Also brauchen wir hier ein paar Variablen. Eines davon Es wird unsere Geschwindigkeit sein, und das ist die wichtigste. Wir werden Var-Geschwindigkeit brauchen. Und wir können dies auf Doppelpunkt setzen, der einem Vektor entspricht, kauen. Und Sie können entweder die Klammern öffnen und 0 Komma 0 setzen. Oder Sie könnten Vektor zwei Punkte machen und dann ist das Wort 0 in Großbuchstaben. Beides ist genau dasselbe und führt zum gleichen Ergebnis. Die Lesefunktion hier werden wir nicht brauchen. Und lasst uns weitermachen und eine weitere Variable für unsere Geschwindigkeit erstellen . Und ich mache weiter und setze meinen auf 100, und wir werden sehen, wie das aussieht. Als Nächstes. Wir haben unsere Prozessfunktion. Wir können das wieder auskommentieren, indem wir einfach Control K auswählen und verwenden . Und innerhalb von hier werden wir unsere Funktionen hier haben. Und die erste, die wir brauchen, ist eine bewegliche Folie, eine bewegliche Unterstreichung und eine Unterstreichungsfolie. Und wir müssen mindestens ein Argument einbringen, damit das funktioniert. Und dieses Argument wird einfach unsere Geschwindigkeit sein. Jetzt mit dem und dem Problem werden wir einen Fehler sehen. Wenn wir das jetzt starten und Sie hier unten einen RT-Bugger sehen. Wir haben zwei Probleme, die auftauchen. Wenn wir nun diese Probleme anklicken und in die Registerkarte Fehler gehen, können wir sehen, dass Delta im Funktionsprozess noch nie verwendet wurde. Wir können also einfach einen Unterstrich an den Beginn von Delta setzen. Und das wird den Teilnehmer auffordern, dies zu ignorieren. Ignoriere die Tatsache, dass wir das nicht benutzen. Und unsere zweite besagt , dass ein Wert zurückgegeben wird, der niemals verwendet wird und wir ihn niemals verwenden müssen. Was wir hier also tun können ist, dass wir tatsächlich einen Kommentar abgeben können. Und dieser Kommentar ist nur zum Überklicken da. Sexspot, den wir brauchen, ist zusätzlich. Also werden wir einen Kommentar verwenden, den ich Warnung, Bindestrich, Ignorieren, Doppelpunkt, Rückgabe, Unterstrich, verworfener Unterstrich genannt habe Bindestrich, Ignorieren, Doppelpunkt, Rückgabe, Unterstrich, . Und das wird den verworfenen Wert der nächsten Zeile ignorieren . Es ist im Wesentlichen auf Zeile neun gestellt. Es wird ignoriert , dass der Wert von zehn oder zweitem Fehler hier vom Verschieben der Folie, die zurückgegeben wird, verworfen wird. Und wenn wir wollten, könnten wir dasselbe auch für Delta tun . Also könnten wir das mit machen, wenn wir möchten. Wir könnten über die Prozessfunktion hinausgehen und warnende Bindestriche, Ignorieren, Doppelpunkt, ungenutztes Argument verwenden Ignorieren, Doppelpunkt, ungenutztes Argument und diesen Unterstrich vor Delta loswerden. Und wir sollten sehen, dass beide völlig ignoriert werden. Und es wird nur für diese beiden Leitungen sein. Dies ist nur eine sehr vorübergehende Sache , die erstellt wurde oder die uns die Antwort sagt und den folgenden Fehler ignoriert , der diesem Kommentar vorausgeht. Sie können das also tun, haben Sie die so oder so. Aber das, das sind zwei verschiedene Arten Dinge für dich , wie du es angehen willst. Für die Bewegung selbst werden wir nun eine Funktion namens Bewegung erstellen . Und wir werden Bewegung über bewegter Folie nennen. Wir werden hier weitermachen und überprüfen ob unser Knopf gedrückt ist. Also sagen wir, ob Eingabe. Und jetzt verwenden wir es. Punkt ist Unterstrich, Unterstrich Brust. Und den Scancode können wir hier eintragen wenn Sie die Nummer kennen, können Sie ihn eingeben, aber wahrscheinlich tun Sie das nicht. Also geben wir einfach den Schlüsselunterstrich d in Großbuchstaben ein. Und wir können einen Doppelpunkt setzen. Und dann machen wir in der nächsten Zeile einen Geschwindigkeitspunkt x. Also wollten wir nur auf den x-Wert der Geschwindigkeit zugreifen. Die erste Zahl und die D-Taste sind also normalerweise mit der Bewegung nach rechts verbunden. Was wir hier also tun werden, ist, dass wir das hier auf der X-Achse nach rechts stellen müssen , und wir gehen nach rechts. Es wird eine Zahl erhöhen. Das wird also eine positive Zahl sein. Womit ist das gleich? Geschwindigkeit? Wenn wir das jetzt ausführen und die D-Taste drücken, und sie, bewegen wir uns nach rechts und wir bewegen uns einfach weiter. Wenn Sie eine Schaltfläche in Form des Namens einer Aktion erstellen möchten. Wenn Sie also nicht möchten, drücken Sie weiter und setzen Sie es so in die Taste. Wir können tatsächlich zwei Projekte starten, Projekteinstellungen, die als Eingabe- und Eingabe-Mapper bezeichnet werden. Auf diese Weise können wir extrem einfach Steuerelemente für unser Spiel erstellen . Oder die Action hier, ich biege einfach ab, richtig? Hinzufügen. Und jetzt kann ich diesen Plus-Knopf drücken. Und ich könnte einen Schlüssel machen. Und jeden Schlüssel, den ich hier reinlege, stecke ich ihn hier in die D-Taste. Ich kann gut zuschlagen, aber ich kann auch reinkommen. Und wenn ich wollte, könnte ich die Befehlstaste gehen und wir könnten den Rechtspfeil machen, wenn ich wollte. Wenn ich also sowohl WASD als auch Pfeiltasten unterstützen möchte , kann ich das auf jeden Fall tun. Und ich muss nur den einen Befehl geben. Wir machen das. Und wie wir das benutzen würden, denn anstatt seine Taste gedrückt zu halten, werden wir Action-Brust tun . Und du wirst sehen, wie deine Action auftaucht und Rechnungen hier drin sind. Wir können also wählen, rechts abzubiegen. Und wenn wir das überprüfen sollten , brauchen wir den Doppelpunkt am Ende. Da haben wir's. Wenn wir das jetzt ausführen und dasselbe drücken, hatten wir unsere D-Taste, die wir der Aktion „Rechts abbiegen“ zugewiesen hatten. Wir gehen weiter nach rechts. Und natürlich bewegen wir uns in die Welt und schauen uns das an. Da haben wir's. Also möchte ich, dass du vornimmst und versuchst, dass du jetzt in der Lage bist, nach links abzubiegen. Und als zusätzliche Herausforderung möchte ich, dass Sie sehen, ob Sie herausfinden können, wie Sie sich dazu bringen können, sich nicht mehr zu bewegen , wenn Sie keine dieser Tasten drücken? Richtig? Nehmen Sie sich einen Moment Zeit, halten Sie das Video an und geben Sie eine Chance und einen Moment. Sie können es fortsetzen. Und wir schauen uns das an und ich zeige Ihnen, wie ich das gemacht habe. In Ordnung, willkommen zurück. Also los geht's mit dem ersten, was wir tun werden , ist etwas anderes zu sagen. Wenn wir also nicht die rechte Taste drücken, wird unser Geschwindigkeitspunkt x gleich 0 sein, was uns davon abhalten muss, uns zu bewegen. Siehst du, wenn wir jetzt die D-Taste drücken, bewegen wir uns nach rechts? Und wenn ich aufhörte, haben wir aufgehört uns zu bewegen. Okay, also wenn unsere Knöpfe nicht gedrückt werden , haben wir aufgehört uns zu bewegen. Großartig. Jetzt könnten Sie versuchen, dass Sie vielleicht hereingekommen sind und gesagt haben, wenn die Eingabe gedrückt ist, biegen Sie links ab. Was im Moment nicht existiert. Ich muss in einer Sekunde hier erstellt werden. Dann würden Sie auf den Geschwindigkeitspunkt x zugreifen. Und wenn Sie sich daran erinnern, dass das, was ich gesagt habe, nach rechts geht, werden wir an Wert gewinnen. Wenn wir also nach links gehen, werden wir an Wert verlieren. Es wird also eine negative Geschwindigkeit sein. Lassen Sie mich jetzt diesen Button ganz schnell erstellen. Biegen Sie links ab. Und ich habe das auf meine Schmerzen eingestellt. Da haben wir's. Jetzt sehen Sie vielleicht, ob wir D drücken, passiert nichts mehr. Wir können nicht rechts abbiegen. Aber wenn wir a benutzen, können wir sicherlich links abbiegen und wir haben angehalten, aber wir können nicht nach rechts gehen. Jetzt müssen wir nur noch tun, um das zu beheben , indem wir es auf einen LFO setzen, auch Else-if genannt. Also, wenn wir E, L, I, F auf R machen , links statt normal, wenn diese beiden Buchstaben alles in diesem Code reparieren und alles im Jetzt so funktioniert, wie es sollte. Weil wir es sind, wir überprüfen, ob einer dieser Bugs oder drücken was ich suche. All diese unterschiedlichen Anforderungen. Obwohl ich zustimme , dass es bei zwei F ein bisschen französisch ist, funktioniert das hier nicht wirklich. Und dieser Aspekt, aber wenn Sie sowieso Bewegungen ausführen möchten, möchten Sie normalerweise nur eine Richtung drücken. Wenn wir das jetzt ausführen und es uns ansehen, können wir nach rechts, links gehen und jedes Mal aufhören. Okay, als Nächstes können wir uns ansehen, wie wir unsere Ebene animieren. Und wir müssen auch versuchen, unseren Spieler daran zu hindern, auf diese Weise vom Bildschirm zu gehen. Und es gibt mehrere Möglichkeiten, wie wir das auch tun können. In Ordnung. Wir sehen uns im nächsten. 8. Animation für Spieler: In Ordnung, also lasst uns weitermachen und unseren Spieler animieren. In diesem. Wir müssen dafür einige Animationen erstellen. Gehen wir also zu unserem Spielerteam. Ich werde hier oben von A bis D drücken, damit ich mir ansehen kann , was los ist. Und wir können unseren Animationsplayer auswählen. Das ist es, was unsere Animationen und unser Sprite hier oben enthält . Wie alles, was darin steckt. Wir müssen es nur auslösen, damit es aussieht, als wäre es ein animierendes Bild. So können wir in unseren Animationsplayer gehen und die Animation von dem, was hier unten ist, klicken. Wählen Sie Neu aus. Wir nennen das „ Leerlauf“. Für diese Animation. Ich werde es nur 0,3 Sekunden lang machen. Ich stelle es auf eine Schleife hier unten rechts ein. Auch hier sind wir immer noch nicht mit Ketten angekommen. Die Bogenlänge beträgt 0,3. Wir drücken hier die Looping-Taste, um sicherzustellen, dass sie eingeschaltet ist. Und was wir tun werden, ist, dass wir jetzt unser Sprite auswählen. Wir können uns hier unseren Rahmen ansehen. Und wir stellen fest, dass wir diese Schlüssel haben , die jetzt im Inspektor auftauchen. Dies ermöglicht es uns, ein Schlüsselbild innerhalb unserer Animation für alles, was wir hier haben, zu erstellen . Und was wir reimen werden, sind unsere Frames hier. Wenn ich also diese Taste drücke, brauchen wir keinen Reset-Track, aber wenn du das eingeschaltet lassen willst, tut es keinem weh. Und ich verwende Bezier-Kurven. Und auch in diesem Fall wird es mit der Tabelle keine Rolle spielen, aber ich werde weitermachen und auf Erstellen klicken. Sie sehen also, wir haben hier unseren niedrigen Zeitrahmen. Stellen Sie einfach sicher, dass Ihr kleiner Marker hier ganz am Anfang steht. Und wir können weitermachen und diesen Keyframe 0 erstellen. Und dann 0.2, erstelle ich den Keyframe, um ihn in Frame eins zu ändern. Wenn ich das nur während Loops wiedergebe, können wir sehen , dass unsere Flamme hier aktiviert wird und ein kleines Flackern hat. Und wir können das für sie tun und links und rechts abbiegen. Natürlich werden wir Frame 01 nicht verwenden und wir werden den nächsten Satz Ringe verwenden . Ich möchte, dass Sie versuchen, die Animationen „Links abbiegen“ und „rechts abbiegen“ für sich selbst zu erstellen . Und pausiere dieses Video, probiere es aus. Kommen Sie zurück, und ich mache weiter und wenn Sie irgendwelche Probleme hatten, klären wir hoffentlich einige Dinge für Sie. In Ordnung, willkommen zurück. Also gehen wir in die Animation und erstellen eine neue. Wir biegen links ab. Und mal sehen, welche wir haben , die wir tatsächlich zuerst links abgebogen haben. Also komme ich hier runter, ändere meine Länge ist 0,3. Schalte das Looping ein, gehe zum Anfang meines Tracks mit Frame auf zwei eingestellt, ich erstelle einen Keyframe. Es schafft. Ich werde zu SharePoint wechseln, um den nächsten Frame zu erstellen , der Frame drei ist. Großartig, ein weiterer wichtiger Punkt. Und ich drücke Play, um das zu wiederholen. Es scheint, als wäre mein erster Frame durcheinander geraten. Also werde ich hier einfach zum Anfang zurückkehren. bisschen saugen zum Kauen und drücken Sie erneut die Keyframe-Taste. Und los geht's. Wenn ich auf „Spielen“ klicke, sieht alles gut aus. Ich werde dasselbe tun, um rechts abzubiegen. Erstellen Sie neue Animationen. Biegen Sie rechts ab. Stellen Sie dies auf 0,3 Loop ein und eingeschaltet geht es zum Anfang, hoch zu Frame vier. Und ich werde das einfach noch einmal einrahmen , nur um sicher zu gehen. Springe auf 0, um zu Frame fünf zu gelangen. Drücken Sie die Taste. Das war schon auf fünf, also muss ich sechs unterrichten und die Taste drücken. Da haben wir's. Lass uns das nochmal versuchen. Meine Zahlen sind wieder seltsam, also ändere ich das wieder auf vier. Springt auf 25. Los geht's. Aus irgendeinem Grund halten wir die Animation ab. Der erste Frame dort scheint immer ein bisschen komisch zu sein. In manchen Situationen. Wir werden weitermachen und das spielen und los geht's, zufällige Paarung. Jetzt brauchen wir das also, um tatsächlich in unserem Skript zu funktionieren , wenn wir umziehen. Dafür werden wir also eine neue Funktion erstellen. Animieren oder animieren Sie lieber, halten Sie es einfach langsam oder klein. Und wir werden diese Animationsfunktion hier oben in unserem Prozess aufrufen , genau wie bei Bewegung. Und wir müssen nur überprüfen, ob unsere Geschwindigkeit auf unserer X-Achse größer oder kleiner als 0 ist, denn wenn sie 0 ist, bewegen wir uns nicht. Wenn es kleiner ist, gehen wir nach links. Wenn es größer ist, gehen wir richtig. Wir können also weitermachen und überprüfen, ob Geschwindigkeit x größer als 0 ist. Ja, okay. Wenn das also größer als 0 ist, werden wir weitermachen und das Dollarzeichen verwenden, um frühzeitig auf jedes Grundstück zuzugreifen oder um unseren Knoten zu erhalten. Aber ich werde das ein bisschen sauberer machen. Schau dir das an. Also gehe ich einfach zurück zu meinen Variablen hier. Ich werde bereit sein, var, sagen wir eine M-Ebene, Excel und setze das gleich Dollarzeichen-Animationsplayer. Nun wieder, wenn du in 4 bist, glaube ich, dass du mit einem schon hier bist, brauchst du das At-Zeichen. Mal sehen. Ich schätze wir sind in drei. Das wird uns nur einen Fehler bereiten. Jetzt können wir zu unserer Animate-Funktion zurückkehren. Wir könnten einfach Spieler ein- und eintippen. Und es wird hier auf diesen Animations-Player-Knoten verweisen. Und wir haben ihm gesagt, er soll es bekommen. Und wir könnten Dot Play machen. Und wir biegen rechts ab, wenn x größer ist. Wenn wir also weitermachen und das versuchen, können wir sehen, dass das jetzt animiert wird. Erst jetzt bleiben wir natürlich stecken. gleiche Situation, die wir mit unserer Bewegung hatten ist, dass unsere Animation nach rechts abbiegt und wir dann dort rechts festsitzen. Wir wechseln nicht zurück zu unserer kleinen untätigen Situation hier. Wenn Sie möchten, nehmen Sie sich hier einen Moment Zeit und sehen Sie, ob Sie herausfinden können, dass hier einen Moment Zeit und sehen Sie, ob Sie herausfinden können wir links abbiegen und uns wieder normal machen können, wenn wir keine der beiden Tasten drücken. In Ordnung, willkommen zurück. Lassen Sie uns weitermachen und diese Situation angehen. Wir werden es genauso machen wie zuvor mit LLF. Wir werden unseren Geschwindigkeitspunkt x bekommen. Wir werden prüfen, ob er niedriger als ist, ob unser X kleiner als 0 ist, was bedeutet, dass wir uns nach links bewegen. Und wir werden weitermachen und den Animationsplayer, also den Anime-Player, einstellen . Biegen Sie links ab. Jetzt müssen wir die andere Situation in dem Fall herausfinden, dass wir keine dieser Tasten drücken. Und genau wie zuvor können wir sonst noch gebrauchen. Und im Spieler Dot Way Idle. Wenn wir uns das jetzt ansehen, los geht's. Wir biegen sowohl nach links als auch nach rechts und kehren zur Normalität zurück und drücken keinen von beiden. Wir können uns das in unserer Welt ansehen und wie wir selbst einen bewegenden Spieler haben. Und das ist alles, was wir für Animationen für einen Spieler benötigen. Wenn du also weitermachen und Bewegung hinzufügen willst , um dich vorwärts und rückwärts zu bewegen, wird das auf der Y-Achse sein. Wenn Sie das also so einrichten möchten, dass sich vorwärts und rückwärts bewegen können, können Sie das auf jeden Fall tun. Und ich denke, wir können weitermachen und Sie können hinzufügen, das nur für den spezifischen Anwendungsfall hinzufügen. Denken Sie jetzt daran, wenn Sie nach rechts abbiegen , werden wir unsere Geschwindigkeit auf 0 setzen, genau wie wir es auch tun werden. Was würdest du für das y tun, um zu sehen, ob wir Geschwindigkeitspunkt y gleich 0 machen. Und natürlich werde ich sie auch auf Alice setzen. Und wir werden das Gleiche tun, wenn wir nur so etwas wie vorwärts machen könnten. Jetzt beeinflussen wir natürlich nur noch unsere Geschwindigkeit. Warum nicht? Wir sind der Meinung, dass Geschwindigkeit, ob das positiv oder negativ ist, darüber entscheidet, ob Sie auf- oder absteigen oder wann Sie das tun. Wir bewegen uns nicht nach links oder rechts. Jetzt. Ich habe mein Tasten-Setup nicht, aber das ist im Wesentlichen das, was du tun wirst und du wirst das Gleiche natürlich nur für rückwärts tun, ist sicherzustellen, dass du deine Geschwindigkeit richtig eingestellt hast, ob das positiv oder negativ für das Y ist Sie können also vorwärts und rückwärts gehen, wenn Sie diese Funktionalität in Ihr Spiel integrieren möchten . 9. Diagonale Bewegung: Ordnung, in diesem Video zeige ich Ihnen nur schnell, wie Sie eine 8-Wege-Bewegung erzeugen können. Wenn Sie sich also auf einer Diagonalen bewegen möchten , werden Sie gesehen. Wenn wir hier einen Blick darauf werfen, können wir uns nach links oder rechts bewegen. Extrem schnell. Oh, das liegt daran, dass ich mich geändert habe. Los geht's. Sie werden also sehen, dass Sie sich hier nach links oder rechts bewegen können, oder Sie können sich auf und ab bewegen. Wenn du dich nicht wirklich bewegst. Gleichzeitig sehen wir, ob ich nach oben gehe und drücke nach rechts. Lass es jetzt durchgehen. Ich bewege mich immer noch in dem seltsamen Winkel , den wir dort haben. Also werde ich nur all unsere Nullen hier entfernen . Unsere Buttons werden also nur den einen Zugriff ändern , das zusätzliche Y. Wir nehmen hier unseren else Block , der alles auf 0 setzt. Wir können das komplett entfernen, unsere Ellipse oder else if-Anweisungen in nur eine if-Anweisung ändern . Und am Anfang der Bewegung können wir weitermachen und die Geschwindigkeit gleich Vektor zwei Punkt 0 setzen. Und das ist alles, was wir tun müssen, um eine korrekte diagonale Bewegung zu haben. Das funktioniert einwandfrei und wir haben keine seltsamen Probleme. Wenn Sie also eine 8-Wege-Bewegung haben möchten , können Sie das auf diese Weise tun. Auch das ist der Grund, warum wir unsere Nullen verschieben. Also wenn du dich hier erinnerst, würde ich nicht zurückkehren, oder? Wir setzen auch die Geschwindigkeit y auf 0. Und als wir auf und ab gingen, setzten wir die Geschwindigkeit x auf 0. Nun, was das ist, indem wir diese entfernen und Geschwindigkeit gleich Vektor zwei Punkte hier oben in unserer Bewegung setzen . Wir können weitermachen und eine gute 8-Wege-Bewegung in unserem Spiel haben . Wenn das also etwas ist, das Sie da drin haben möchten, können Sie das auf diese Weise hinzufügen. Wenn Sie jetzt bemerken, dass es bei Ratten eine Sache gibt, bewegen Sie sich auf einer Diagonale tatsächlich schneller als wenn Sie sich nach links oder rechts bewegen. Also alles was ich dort tun werde ist, dass wir die Geschwindigkeit gleich Geschwindigkeit Punkt normalisiert mal Geschwindigkeit einstellen können . sollten wir versuchen. Jetzt sehen Sie, dass wir eine konstante Geschwindigkeit beibehalten , unabhängig davon, ob wir gerade, seitwärts oder schräg fahren. Richtig? Das reicht also für dieses Video. Deshalb wirf das Ende sehr schnell. Ich weiß also, dass einige von Ihnen wahrscheinlich eine 8-Wege-Bewegung wollen werden. Fragt dich in gewisser Weise, wie dein Spiel ein wenig zu modernisieren und nicht so weit in der Vergangenheit stecken zu bleiben, wo wir nur die zwei getrennten Richtungen hatten und wir die eine oder andere hinzufügen. So fügt man Bewegung hinzu. Und im nächsten Schritt schauen wir uns an, wie wir verhindern können, dass der Spieler unseren Bildschirm verlässt. 10. Game: In Ordnung, willkommen. In diesem Video werden wir uns ansehen, wie wir verhindern können dass der Benutzer den Bildschirm verlässt. Wie Sie sehen, gehen wir von links nach rechts. Wir gehen komplett über den Bildschirm hinaus, was wir für unseren Spieler nicht wollen, genauso wie beim Vor- und Rückwärtsgehen wird der Bildschirm vollständig verlassen. Um dies zu erreichen, haben wir zwei Methoden, dies zu tun. Wir können uns für die Methode der unsichtbaren Barriere entscheiden, oder wir können die Position des Spielers in Bezug auf Sie überprüfen , natürlich die Größe unseres Projekts hier. Wenn wir also zur Barrieremethode übergehen wollen, können wir hier auf der Welt einen statischen Körper schaffen. Erstellen Sie eine Kollisionsform. Weisen Sie diese Form zu, haben Sie ein Rechteck. Wenn ich nur diesen statischen Körper ergreife, sperre ich die Kollisionsform hier ein, damit ich ihn nicht festhalten kann. Also schnappte ich mir den statischen Körper und schiebe ihn einfach hier runter. Ich kann das jetzt abschließen. Und wenn ich das Gefühl so erweitere, ist es das. Das ist alles was wir tun müssten. Und das können wir natürlich auf alle vier Seiten anwenden. Und wir könnten den Benutzer daran hindern , den Bildschirm zu verlassen. Also können wir natürlich ganz unten gehen weil wir dort unten keine Barriere haben. Aber das ist eine Möglichkeit , diese Einschränkung festzulegen. jetzt hier auf die rechte Seite zu gehen, werden wir die zweite Methode verwenden , die wir dafür verwenden könnten. Wenn wir rechts abbiegen, werden wir nach einer zweiten Bedingung suchen. Und positioniere Punkt x nicht größer als ungefähr warum 92. Und wie ich das bekommen habe, ist unser Zeuge von 24 und ich ziehe nur unser Sprite ab. Wenn wir jetzt nach rechts gehen, sehen Sie, dass wir dort diese Barriere haben, die ins Spiel gebracht wird oder nicht. Lassen Sie uns in diese Richtung drehen. Und auf der linken Seite können Sie natürlich sehen, dass wir immer noch unsere Turn-Animation am Laufen haben. Wir können einfach nicht weiter nach links gehen. Es gibt also zwei völlig unterschiedliche Methoden. Es liegt ganz bei Ihnen. welcher Methode möchtest du das machen? Zwei bis 08. Du gehst. Wir haben also genau das Gleiche, wir stehen direkt vor der Ecke. Jetzt. Sie können es mit einer Methode sehen. Wir spielen immer noch unsere Animation ab und versuchen uns umzudrehen. Und mit dem anderen kommen wir einfach zum Stillstand und bewegen uns überhaupt nicht. Also drehen wir uns nicht um. Welche Methode Sie wählen möchten, liegt also ganz bei Ihnen. Denken Sie daran, dass Sie, wenn Sie die Barrieren beseitigen möchten, auf vier Barrieren um alle vier Seiten setzen müssen . Wenn Sie die volle Bewegung haben, ein vorwärts, zurück links Android. Und das gleiche gilt für deinen Code hier. Wenn Sie hier die Coderoute gehen und Ihre Überprüfungen durchführen möchten, überprüfen Sie auch, ob sie auf X zu Ihrer Linken positioniert ist . Ich habe deine Position Punkt y nicht für deinen Vorwärts- und Rückwärtsgang überprüft . Und natürlich wird vorwärts 0 hier oben auf dem Bildschirm sein. Also würde 0 ungefähr so aussehen. Und wenn wir außer 400, dem unteren Bildschirmrand, dann hätten wir natürlich dem unteren Bildschirmrand, so etwas. Sie müssen also auch Ihre eigenen Berechnungen durchführen. Also würde ich sagen mach 16 für die Spitze, mach 384 für die Unterseite. Und dann natürlich die linke Seite hier drüben, wir können nur 16 und Features machen. Wie ich das bekommen habe, der Ursprung unseres Spielers. Denken Sie daran, wenn wir uns unsere Spielerszene in der Mitte ansehen und das Sprite 32 mal 32 ist. Also habe ich nur die Hälfte davon genommen, was 16 sein werden. So habe ich diese Zahlen bekommen. Welche Methode Sie verwenden , um Ihren Spieler zu blockieren, liegt also ganz bei Ihnen. Der Vorteil der unsichtbaren Barrieren bedeutet natürlich, dass Sie sie jederzeit und visuell anpassen können , ohne ein Problem zu haben. Natürlich. Der andere, der Vorteil des anderen ist, dass wir nicht diesen festgefahrenen Animationslook haben , während wir versuchen, bis zum Ende zu gehen, egal in welche Richtung. In diesem Fall liegt unser Auftreten ganz bei Ihnen. Persönlich werde ich hier die Code-Methode anwenden. Ich überprüfe meine Position in meiner Scheckschere. Aber wenn Sie die unsichtbare Barriere verwenden oder sich mit dem statischen Körper nähern möchten , ist das völlig in Ordnung. 11. Shooting: Ordnung, im heutigen Video werden wir darüber nachdenken, wie man einen Schießmechaniker oder unseren Spieler erstellt . Und ob Sie eine Abstoßung auf Projektile abschießen. Wie auch immer Sie es schaffen möchten, das liegt an Ihnen. Aber ich werde, glaube ich, zwei Projektile verwenden oder zumindest um Schießpunkte hier drin zu schießen. Wenn Sie also eine verwenden möchten, müssen Sie sich bei einer bewerben. Wenn Sie mehrere verwenden möchten, werden Sie sehen, wie wir es auf mehrere Standorte anwenden können. Ich habe auch mehrere Projektile hier. Wir haben drei verschiedene Versionen mit und ohne schwarze Umrandung. Es liegt an Ihnen, welche Versionen Sie dafür verwenden möchten. Und wenn Sie sehen möchten, wie sie mit verschiedenen Farben aussehen, würde er hier im Sichtbarkeitsbereich des Inspektors nicht auf die Registerkarte Sichtbarkeit gehen . Wenn sie ausgewählt sind, können wir auf modulieren zugreifen und die Farben hier ändern. Wenn Sie also eine bestimmte Farbe im Sinn haben, können Sie diese sicherlich in die gewünschte Farbe ändern . Und das sollte Ihnen eine Vorstellung davon geben , wie all diese in den verschiedenen Farbtönen aussehen . Also für mich selbst denke ich, dass ich weitermachen und wieder auf Alt projizieren werde , also ohne den schwarzen Umriss. Das können also meine Standardaufnahmen sein. Also mache ich weiter und jetzt, wo ich weiß, welchen ich verwenden möchte, werde ich all diese Punkte los und wir können unser Projektil erstellen, jemanden sehen, der eine neue Szene erstellt. Wir werden weitermachen und unser Projektil erstellen. Und ich werde das als kinematischen Körper 2D festlegen kinematischen Körper 2D damit wir unsere Physik darauf anwenden können. Ich füge ein Sprite hinzu. Für unsere Laser-Lieblinge, unser Projektil. Ich bringe den, den ich verwenden möchte, in den Textur-Slot hier auf meinem Bildschirm. Wir können dieses kleine Dreieck loswerden, indem unsere Kollisionsform hinzufügen. Und in meinem Fall kann ich, da ich diese verwende, eine Kreisform verwenden und diese verkleinern. Wenn Sie jetzt eine andere Form verwenden, wenn Sie die Laser-Boy-Standardaufnahme , können Sie das Rechteck verwenden. Wenn Sie die anderen verwenden, können Sie natürlich auch eine Kugel oder ein Rechteck oder einen Kreis oder ein Rechteck verwenden , je nachdem, welchen Weg Sie einschlagen möchten, können Sie das Ganze abdecken oder Deckung ist das eine Ende davon. Und ich rette das, dieses Projektil. Speichern Sie es, fügen Sie das in meine Szenen ein. Spar dir das. Jetzt wo wir das haben. Um ein Projektil abzuschießen, benötigen wir eine Schussfunktion. Also gehe ich zu meiner Eingabe-Map und erstelle eine Shoot-Action. Und ich setze das auf groß meine Leertaste. Okay, jetzt müssen wir unser projiziertes Out tatsächlich bewegen, oder? Es ist nicht gut, wenn wir es schießen und es geht nirgendwohin, es nützt uns an diesem Punkt nicht. Also lass uns weitermachen und wir können ein Skript hinzufügen. Stellen Sie sicher, dass Sie es an der richtigen Stelle platzieren , damit die Dinge sauber und sauber bleiben. Skripte projizieren normale Punkt-GD nach unten. Und genau wie unser Spieler, und wir werden eine Geschwindigkeit brauchen. Und ich kann als leerer Vektor zwei anfangen. Wir brauchen auch eine Geschwindigkeit. Und lassen Sie uns mit, ich sage vorerst 100, wir werden später sehen, wie sich das ändert. Wir brauchen die Ready-Funktion nicht. Eigentlich können wir die Ready-Funktion verwenden. Das ist also ein Hindernis dafür. Behalte das hier und lass uns die Bewegung und Folie hinzufügen. Du kannst move auch im Unterricht verwenden, aber ich neige dazu, immer move inside zu verwenden. Ich musste mich nie bewegen und Clyde und in dieser Situation es sowieso keinen Unterschied machen. Der Collider Slides ist so ziemlich das, was passiert, wenn zwei, wenn die beiden Körper ineinander laufen. Mit den dort eingestellten beweglichen Folien und der Funktion „Bereit“ können wir die Geschwindigkeit nehmen und wir können die y-Eigenschaft davon erfassen, und wir möchten, dass können wir die Geschwindigkeit nehmen und wir können die y-Eigenschaft davon erfassen, sie steigt. Also werden wir es auf eine negative Geschwindigkeit einstellen. Wenn das funktioniert, sollte es hier komplett von unserem Bildschirm verschwinden , wenn wir es versuchen, und wir sehen es nicht. Also ist es entweder weg oder zu klein. So oder so können wir uns das ansehen. Und Sie können in unserem Debugger sehen, dass wir dort 22 Probleme haben. Es sind die gleichen Dinge , die wir in unserem Player hatten. Gerade jetzt sind zu unserem Projektil zwei Kommentare zurück in. Ich möchte auch wissen, ob du diese loswerden willst. Wenn Sie nicht auftauchen und diese Kommentare nicht konsistent verwenden möchten , können Sie sie entweder ignorieren, was ich persönlich nicht unbedingt empfehlen würde, oder Sie können sich darauf konzentrieren, ich glaube, es ist in der Rajah. Ja. Und suche einfach die Warnung. Und unter GD-Skript finden Sie das ungenutzte Argument genau hier. So wie Sie eine für die Rücksendung finden sollten, hat das Rückgabewert-Gericht es auch hier bekommen. Sie können also einfach beide ausschalten wenn Sie diese Kommentare nicht auf alternative Weise dort drin platzieren möchten . Wir haben jetzt unseren Spieler angegriffen. Und ich werde eine Position hinzufügen , die hier etwas schwer zu erkennen ist. Da ist es. Und Sie können dies auf die Stelle einstellen , an der Ihre Projektile spawnen sollen. Also in meinem Fall setze ich einfach meinen ich setze meinen Ray, genau dort. Das ist in Ordnung. Natürlich. Sie können es so nah wie möglich herausholen. Ich nenne diese Position des linken Geschosses links. das falsch geschrieben. Da haben wir's. Und ich dupliziere das einfach und füge ein zweites hinzu. Auf der rechten Seite. Ich mache die richtige Alpha-Projekt-Position. Und diejenigen, die meine zwei Punkte sein werden , von denen ich schießen werde. jetzt in unseren Player gehen, können wir eine Variable erstellen , die unseren normalen Schuss hat. Wir können das auf einen Preload setzen. Und das erfordert ein Argument unseres Projektils, das wir erstellt haben. Wenn wir uns Szenen ansehen, unser Projektil normal. Geht geradeaus. Sie können den Pfad kopieren oder hineinziehen. So wie. Und was das tun wird ist, wenn unser Spieler in die Szene gebracht wird, wird er auch das normale Projektil laden , wenn wir es brauchen. Anstatt es vor Ort zu laden, wird es schon haben. Okay, also lass uns weitermachen und wir können eine Funktion für das Schießen erstellen. Und was wir hier reintun werden, ist, dass wir eine Instanz unserer normalen Aufnahme erstellen müssen . Und dann müssen wir es in die Welt bringen. Also sagen wir Neue temporäre Variable erstellen. Wurde in der Stanford-Schussinstanz angeschossen. Und das entspricht unserer normalen Schussvariablen, die wir gerade Top-Punkt-Instanz erstellt haben. Jetzt müssen wir nur noch die Position festlegen. Und dann müssen wir die Geschwindigkeit nicht einstellen. Wir haben bereits gesagt, dass wir nur die Position festlegen um alleine oder eher alleine hochzuschießen. Um dies zu vereinfachen, erstellen wir oben eine weitere On-Ready-Leiste. Für unsere Linke. Wir nennen es linke Schuhposition. Und würde auch eine für die rechte Seite erstellen. Position. Los geht's. Sam würde herkommen und wir werden schockiert. Und machen Sie Punktposition, um auf die Eigenschaft position zuzugreifen . Und wir setzen das gleich, wir sagen unsere linke Schuhposition. Position. Wir wollen, dass das nur passiert, wenn wir unser Projektil abschießen. Also werde ich einfach diese beiden Zeilen hervorheben und die Tabulatortaste drücken , um sie zu verschieben. Und ich werde in einer if-Anweisung hervorstechen , die besagt ob Eingabe eine Aktion ist, drücken Sie einfach oder Sie können mit gerade freigegeben gehen, es liegt an Ihnen. Ich werde einfach drücken und wir machen es. Das passiert also einmal und es passiert nicht kontinuierlich, solange wir es unten haben. Das ist der Unterschied zwischen einem Absturz und Action. Drücken Sie. Die gedrückte Aktion bedeutet, dass wir die Taste gedrückt halten und gedrückt halten können, während die Taste gedrückt ist. Das wird konsequent passieren. Einfach drücken bedeutet, dass es das eine Mal passieren wird . Wenn wir die Taste herunterdrücken, passiert das einmal. Und dann war's das. Stellen Sie sicher , dass Sie das Shooting innerhalb unseres Prozesses anrufen. Und wenn wir das jetzt ausführen, sollten wir in der Lage sein, unseren Schießknopf zu drücken. Oh, mein Fehler, ich habe eine wichtige Sache vergessen. Wir haben seine Position festgelegt, aber wir haben sie nie wirklich in die Szene aufgenommen. Beachten Sie hier also , dass wir es nicht zum Player hinzufügen möchten. Wenn wir es dem Spieler hinzufügen, bewegt es sich. Wenn wir ihren Spieler nach links und rechts bewegen. Dann bewegt sich unser Projektil in der Luft, was nicht viel Sinn ergeben wird. Da wir nicht wie ein Laser für unsere Normalität erstellen, müssen wir dies als Kind zu seinen Eltern hinzufügen, damit wir es der Welt hinzufügen können. In unserer Schriftstelle werden wir also noch wissen , was die Welt sein wird. Und wenn Sie sich fragen, woher ich das weiß, wenn Sie hier nachschauen, sehen Sie, dass wir diese wie eine Baumfunktion haben. Wir haben diese Linie aus dem Spieler und dann geht sie hoch und das erste, was sie hier trifft, ihre Welt. Also das ist Eltern holen. Und bei diesen ist es genauso, dass diese Positionen hier die Eltern unseres Spielers sind. Aber auf unser Skript wird vom Player aus zugegriffen. Also werden wir den Spieler von einem weglaufen lassen, der die Welt ist. Wir bekommen Elternpunkt, fügen Kind hinzu. Und es wird in diesem Schuss vorübergehen. Und jetzt sollten wir es sehen können. Ordnung, also eine kleine Änderung ihrer Notiz, dass anstelle von Position, obwohl hier im Inspektor positioniert steht, und wenn wir den Mauszeiger darüber bewegen, heißt es Position. Was wir eigentlich verwenden wollen, wollen es auf die Position des globalen Unterstrichs der linken Schuhposition setzen . Und dann platzieren Sie es tatsächlich dort, wo wir es haben wollen. Also, wenn wir jetzt in unsere Welt gehen und das spielen, siehst du, wenn wir drehen, geht es dahin und es drängt uns nur zurück, nur weil es ein bisschen vage ist, ein bisschen zu testen, um es zu versuchen und finde heraus, warum wir die Skala unseres Projektils auf eins zurücksetzen . Und wir werden wieder normal sein. Also gehst du. Jetzt haben wir unser Projektil am Laufen, offensichtlich haben wir nur eines am Laufen und das drängt uns immer noch zurück. Nur ein bisschen. Etwas merkwürdig. Also werde ich weitermachen und meine beiden Positionen ergreifen und sie ein wenig nach oben drücken. Man könnte ihm sagen, dass er den Spieler komplett ignorieren soll, was wir uns zu einem zukünftigen Zeitpunkt ansehen können. Aber jetzt gehen wir ein bisschen vorwärts und Sie können sehen, dass wir schießen. Es funktioniert nicht perfekt. Um das noch einmal zu besprechen, unsere Schieß - oder Schussfunktion durchzugehen, überprüfen wir, ob unsere Schießaktion nur durch Drücken erfolgt. Das passiert also nur einmal, wenn Sie die Taste gedrückt drücken. Dann erstellen wir eine neue Variable, die eine Instanz unseres Shots enthält. Was ist eine normale Shot-Dot-Instanz? Und dann haben wir die Position dafür festgelegt. Wenn also diese Instanz, die shot-Instanz, die Eigenschaft position davon erhalten. Wir setzen das auf die gleiche Position wie unsere linke Schuhposition, was eine Position zu D ist , die wir unserem Spieler zugewiesen haben. Und wir setzen das auf die linke Schuhposition, ducken die globale Unterstrich-Position. Und dann werden wir nichts sehen , wenn wir es nicht tatsächlich in den Namen aufnehmen. Und wir wollen es zu den Eltern unserer Spieler hinzufügen, was unsere Welt ist. Beachten Sie, dass sie diesen Knoten bekommen, seine Eltern holen und dann ein Kind hinzufügen und unsere Shot-Instanz hinzufügen wollen bekommen, seine Eltern holen und dann ein Kind hinzufügen . Als Kind davon. Wir kommen hier rein und da wir zwei Positionen haben, erstelle ich einfach eine zweite. Also habe ich eine Chance vor Ort. Jetzt setzen wir den zweiten auf unsere andere Position, was unser richtiger Schuss ist. Und stellen Sie sicher, dass wir auf Aufnahme in Nummer zwei zugreifen. Und dann müssen wir sicherstellen, dass wir diese auch in unsere Szene aufnehmen. Also werden wir Elternschaft und Kind reinschießen lassen. Und wenn wir das spielen, sollten wir jetzt unsere beiden Projektile gleichzeitig abschießen. Wie Sie sehen können, können wir, wenn wir den Button erweitern würden, viele dieser Zellen bekommen. Ob Sie möchten, dass dies in Ihrem Spiel beabsichtigt ist oder nicht, liegt ganz bei Ihnen. Wenn Sie dem eine Art Abkühlung hinzufügen möchten, können Sie diese auch leicht hinzufügen, indem Sie einfach überprüfen, ob der Spieler schießen kann. Und wenn nicht, dann erlauben wir ihnen nicht zu schießen. Da haben wir's. Wir können jetzt einige Projektile nicht abschießen. Und wieder können Sie dies in jeder gewünschten Farbe und Ihrem Projektil sichtbar machen , indem Sie einfach die Modularität ändern , wo immer Sie möchten. Wenn wir es also auf den Bildschirm ändern und hier reinkommen und Bücher drehen, müssen wir hier rein und schießen. Wir haben jetzt ein grünes Projektil. So kannst du das machen, was immer du willst. Sie können ihnen zwei verschiedene Farben geben, wenn Sie möchten. Das liegt ganz bei dir und was du tun willst. Aber so können wir unserem kleinen Weltraum-Shooter einen Schießmechaniker hinzufügen . 12. Stromaufnahmen erstellen: In Ordnung, Willkommen. In diesem Video werden wir uns mit Erstellung unserer Power-Ups befassen und diese in die Welt bringen. Und der Grund, warum wir das zuerst angehen werden, bevor wir zum Feind kommen, ist einfach, dass die Feinde effektiv dasselbe System verwenden werden , das wir mit Power-Ups ohne Verwechseln Sie es mit einer KI oder Verhaltenshernie, dass das erste, was wir mit der Macht tun müssen, natürlich ist, unsere Kraft zu erzeugen. Erstellen wir eine neue Szene. Wir wählen Andere aus und machen daraus einen kinematischen Körper. Ich benenne es um in „Our up“. Es wird natürlich ein Sprite brauchen, weil wir zeigen müssen, was die Bilder sind. Wir werden einen Animationsplayer haben. Was können wir sonst noch tun? Wir können es so einstellen, wir brauchen ein Gebiet. Und dieses Gebiet wird seine eigene Kollision haben. Jetzt weiß ich, dass wir dieses gelbe Dreieck beim Powerup haben, aber wir müssen uns darüber keine Sorgen machen, weil wir das nicht brauchen, um eine Kollisionsform zu haben. Was wir brauchen, ist, dass der Bereich eine Kollisionsform hat, die Sie erkennen können unser Spieler ihn betritt oder mit ihm interagiert. Und für die Kollisionsform setze ich sie einfach auf ein Rechteck. Okay, für unser Sprite können wir weitermachen und unsere Tabelle einziehen. Sprites, Power up, bring es in AUC an , wir haben Gesundheitsschilde, Geschwindigkeit, Tier t. Jetzt können wir das natürlich acht Frames einstellen und es geht über. Wir haben sechs Quer und wir haben vier vertikale. Und jetzt können wir einfach den Animation-Player verwenden , um unsere Frames zu erstellen. Und wenn Sie nur eine dieser Farben zeigen möchten, können Sie das sicherlich nicht. Andernfalls animieren wir es so, dass es zwischen all diesen Farben wechselt und wie ein kleiner Regenbogenblitz klingt. Es liegt an dir, wie du das angehen willst. Aber das ist alles, was wir tun müssen, um unsere Macht aufzubauen. Speichern Sie die Szene. Und dann werden wir im nächsten Video weitermachen und uns mit der Erstellung der Animationen befassen . Und ich schätze, wir richten unseren Code ein. Da die Mehrheit von ihr in diesem Moment nur die Animation sein wird. 13. Animating Ups: Okay, lass uns loslegen und unsere Power-Ups animieren. Gehen wir weiter und wählen den Animationsplayer aus. Ich werde „Neu“ aus meiner Animation auswählen. Ich wähle Gesundheit aus. Und jetzt, da es 1 Sekunde lang ist, werde ich das auf eine Schleife setzen. Ich setze meinen Snap auf 0,15. Jetzt können Sie dies immer auf das einstellen, was Sie wollen. Wie die VR-App Sie fragt, ob sich Dinge für Sie bewegen sollen. Für mich verwende ich 0.15 und ich werde Frame 0 für meinen ersten Frame hier verwenden. Klicken Sie auf Erstellen. Ich werde bis zu 0,15 0s Frame eins besetzen. Wie Sie sehen, wird es vorrücken, den Rahmen auf dem Snap gebucht, sowie den Rahmen und meine Nummer hier, damit ich einfach weiter Tasten drücken kann . Und jetzt haben wir unser Gesundheits-Setup. Wenn ich also das spiele, haben wir diese Gesundheit mit einem kleinen Regenbogenblitz im Text. Wenn Sie dies nicht möchten, können Sie es einfach als ein Bild für die gesamte Animation festlegen . Aber das liegt an dir. Ich persönlich mag den Regenbogen, die Regenbogen-RGB-Umschaltung. Das passiert. Aber wenn du das nicht willst oder nicht willst, musst du das natürlich nicht haben. Und wir werden weitermachen und dasselbe für unsere anderen Animationen erstellen . Ich werde damit aufhören. Gehen Sie in die Animation neu, und wir haben Schilde. Es. Okay? Und unser Frame wird auf sechs beginnen, wieder hier bei 0. Stecken Sie diesen Schlüssel. Devin wird unsere 0,15 sein. Stellt sicher, dass es in einer Schleife läuft. Und es wird das wieder setzen, 67891011. Und wenn wir das spielen, haben wir unsere Schildanimationen. Fantastisch. Also müssen wir hier nur noch zwei weitere erstellen. Das wird unsere Geschwindigkeit sein, ist 0,15. Schleife es, gehe zurück zu 0, cetera, Animation. Rahmen 12. Steigen Sie für 13 auf. Da haben wir's. Wir können es zur Überprüfung abspielen. Es. Sieht toll aus. Und unser letzter ist ein Multi-Snap, 0.15. Wie die Animation. Geh zurück zum Anfang. Gestartet mit Animation 18. Lösche das letzte Bild ganz schnell und spiel es ab. Los geht's. Dazu haben wir eine nette Animation. Und einfach so haben wir alle unsere Animationen für unsere Power-Ups erstellt. Nun natürlich, wenn Sie mehr zu diesem Sprite-Sheet hinzufügen und auf jeden Fall Ihre eigenen Animationen erstellen . Benutze mehr, mache mehr Power-Ups. Ich werde einfach weitermachen und mir das sparen. Und wir können in unser Powerup-Skript gehen. Was wir jetzt tun werden, um das in Zukunft zum Laufen zu bringen , ist, eine neue Funktion namens create power up zu erstellen. Und dafür bedarf es eines Arguments. Dieses Argument werden wir als knapp bezeichnen. Und das können wir als Schnur auffangen. Jetzt müssen wir diese Doppelpunkt-Zeichenfolge nicht hier einfügen. Du könntest es einfach eng haben. Wir sollten uns jedoch daran gewöhnen, da dies bei größeren Projekten einer leichten Leistungssteigerung führen wird. Wirf hier all unsere verschiedenen Variablen , Variablen, Argumente, Parameter. Daran sollten wir uns gewöhnen. Was wir hier beim Erstellen von Power-Ups tun werden , ist, dass wir unsere Variable von tight setzen. Also werden wir einen, unseren Typ haben. Wir werden festlegen, dass unser Typ gleich zu eng ist. Auf diese Weise. Diese spezifische Kraft wird wissen, welche Art von Kraft es ist, was sich als nützlich erweisen wird , wenn wir später unsere Kräfte aufnehmen und mit ihr interagieren. Und die einzige andere Sache, die wir tun werden ist unsere Animation einzustellen. Du wirst den Animationsplayer holen. Wir nennen es „Play“. Und wir werden einfach kurz vorbeikommen. Und das ist alles, was wir tun müssen, damit Animationen hier funktionieren. Wann immer wir also weitergeben, was auch immer unser Typ ist , wird das funktionieren. Zum Beispiel, nur zu Demonstrationszwecken, werden wir weitermachen und Power Up erstellen und wir werden es nennen. Wir geben es weiter und sagen Gesundheit. Und wenn wir diese Szene testen, können wir sehen, dass sie animiert und unser Gesundheits-Power-up da oben ist. Und wenn wir dies in, sagen wir mal Geschwindigkeit, ändern , versuchen Sie es erneut. Wir haben unser Speed-Power-up da oben in der Ecke und das ist animierend. Also funktioniert alles wie beabsichtigt. Soweit die Animation reingehen soll. Im nächsten Video geben wir unserer Kraft etwas Bewegung und schaffen einen Spotter, etwas Bewegung und schaffen damit sie zufällig in unserer Welt erscheint. 14. Schalte Spawner ein: In diesem Video werden wir die Bewegung unserer Power of Habit erstellen die Bewegung unserer Power of Habit die vom oberen Bildschirmrand auf den Spieler zukommt. Um das zu tun, werden wir hier ein paar unserer Standarddinge brauchen. Die erste ist die Geschwindigkeit, die unserem Power-Up hinzugefügt wurde. Bisher entspricht der Geschwindigkeits-Doppelpunkt dem Vektor zwei Punkt 0. Wir brauchen auch eine Geschwindigkeit. Wir können das auf setzen, ich werde 200 für diesen Prozess verwenden , wir müssen unsere Bewegung passieren und mit Geschwindigkeit als erstes Argument gleiten. Und für unsere Bereitschaft können wir sagen, Geschwindigkeit Punkt x Punkt y, weil wir uns vertikal bewegen, ist gleich Geschwindigkeit. Jetzt verwenden wir ein Positiv , weil wir runterkommen. Wenn wir negativ sind, würde es steigen, wenn ich die nicht rückwärts bekommen habe. Wir werden es in einer Sekunde sehen und unsere Szene testen. Und da geht es los und bewegt sich auf unserem Bildschirm nach unten. Also habe ich die in der richtigen Ausrichtung. Okay, jetzt haben wir die am Laufen. Ich werde weitermachen und meine beiden Kommentare noch einmal von meinem Spieler holen . Und ich werde sie hier an meine Power Apps weitergeben. Vermeiden Sie jegliche Verwirrung. Wir gehen. Und jetzt haben wir Bewegung zum Power-Up, und wir haben unsere Kraft zu animieren. Wir müssen es tatsächlich in die Welt gebracht haben. Dafür erstelle ich eine neue Szene wähle andere für meinen Knoten aus. Und ich werde einfach den Basisknoten verwenden , den Sie ganz oben finden. Und das wird von Spawner sein. Ich werde weitermachen und es in Spawner umbenennen. Dieser Spotter wird einen Timer haben. Die Zeit , auf die Sie es einstellen möchten , liegt ganz bei Ihnen. Zu diesem Zweck. Ich stelle es einfach auf drei Sekunden ein und schalte Autostart in meiner Szene ein. Spider.js KANN ein neues Skript hinzufügen, mein Spawner. Stellen Sie sicher, dass es sich im richtigen Ordner befindet. Und jetzt können wir tatsächlich die Bonding-Anwendung unserer Power-Ups erstellen . Wir wollen nicht, dass Power-Ups überall auf der Karte platziert erscheinen, oder? Wir wollen nicht alle unsere Power-Ups von Hand platzieren. Und du gehst vielleicht viertausend Pixel über unserer eigentlichen Szene oder so etwas. Wir wollen es tatsächlich in die Welt spawnen. Wir wollen, dass sie randomisiert werden. Es ist also anders, welche Kräfte jedes Mal bekommen. Es ist niemals dasselbe. Es ist tatsächlich das zu tun. Wir werden ein paar Variablen erstellen. Wir werden eine erstellen , die unsere Power-Up-Liste enthält. Sag Power-Ups Liste. Das wird ein Array sein, speziell ein Pool-String-Array, das wird nur Gesundheit bewahren. Schilde. Unsere Geschwindigkeit und Multi die exakt gleichen Namen und Schreibweisen der Animationen , die wir zuvor verwendet haben. Wir müssen uns überhaupt keine Gedanken über die Prozessfunktion oder die Bereitschaftsfunktion machen. Die einzige Funktion, um die wir uns jetzt Sorgen machen müssen , ist unser Timer. Und wenn unser Ding mal L. Also werde ich den Timer auswählen, den Knoten-Tab hier oben. Doppelklicken Sie auf Timeout, um sicherzustellen, dass der Spawner ausgewählt ist, und klicken Sie auf die Schaltfläche Verbinden Jetzt hätten wir das durch Code verbinden können. Das stimmt, aber das ist auch der einfachste Weg. Wenn Sie noch nicht damit vertraut sind, einen Teil dieses Codes beim Timeout auszuführen. Und das erste, was wir tun müssen, ist randomize anrufen. Und es wird den Seed randomisieren und verhindern, dass wir jedes Mal das gleiche Ergebnis erzielen. Denn wenn wir das nicht tun, bleibt unser Samen derselbe. Und zum Beispiel könnten wir Schildgeschwindigkeit, Multi-Gesundheitsschild-Geschwindigkeit, Multi-Gesundheitsschild-Geschwindigkeit usw. erhalten Multi-Gesundheitsschild-Geschwindigkeit, , und das ist nicht sehr zufällig. Es ist auch nicht sehr aufregend. Also werden wir es jedes Mal randomisieren , wenn der Timer abgelaufen ist. Und wir werden eine Variable brauchen , die unsere Macht obszön hält. Sag r ist gleich Reload. Und wir werden unsere Macht obszön reinziehen. Jetzt, wo wir das direkt nach dem Zufallsverfahren haben, können wir eine Instanz von Arsin-Balkenleistung erzeugen. Entspricht unserer Up-Dot-Instanz. Jetzt, wo wir eine Instanz unserer Szene haben, können wir die Position festlegen, an der sie sich erstrecken soll. Wenn wir jetzt über die Spitze gehen, wollen wir, dass es hier oben irgendwo zufällig ist, oben zufällig. Wenn wir uns jetzt unser Projekt ansehen und Sie sich erinnern, kommen Sie zu unserem Display. Unsere Breite beträgt nur 224. Damit müssen wir also arbeiten. Wir werden also sagen, dass var position underscore x gleich Randy ist, was eine zufällige Ganzzahl ist. Und wenn wir ein Prozentzeichen gefolgt von einer Zahl wie Sieben setzen, erhalten wir eine Zufallszahl zwischen 06. Wenn wir also 224 machen, erhalten wir eine Zufallszahl zwischen 0223. können wir jetzt jederzeit ändern. Zum Beispiel könnten wir etwas zwischen 02:01 tun, aber dann können wir auch weitere 23 hinzufügen . Das gibt uns jetzt eine Zahl zwischen 23224. Und der Grund ist, dass wir unsere Nummer kriegen. Nehmen wir zum Beispiel an, wir erhalten 0, sie werden ausgewählt. Wir werden dann 23 hinzufügen. Die niedrigste Zahl, die wir bekommen können, ist also 23. Und die höchste Zahl, die wir bekommen können ist, dass 200 ganz oben auf unserer Liste steht, 200 plus 23. Sie möchten jedoch entscheiden, wo Ihre Spawns funktionieren. Für die aktuelle Zeit. Ich mache einfach weiter und benutze bis 24. Jetzt, wo wir eine Position haben, müssen wir unser zufälliges Power-Up bekommen, das erstellt wird. Also werden wir das auf die gleiche Weise bearbeiten . Wir werden sagen, dass var hour gleich Randy ist. Und wir werden eine weitere Zahl mit dem Prozentsatz weitergeben . Nur. Dieses Mal verwenden wir die Größe unserer Power Apps-Liste. Die Größe wird uns nun mitteilen , wie lang unser Array ist und wie viele Artikel sich hier befinden. Also 1234, was bedeutet, dass wir eine Zahl zwischen 03 bekommen, was für uns funktioniert denn wenn wir über einen Index sprechen, haben wir 0123, oder? Wir haben bei 0 angefangen. Die Größe gibt uns also die perfekte Zahl. Und wenn wir hier noch andere Dinge hinzufügen würden, wie zum Beispiel, ich weiß nicht, lass uns mit der Explosion gehen, oder? Dann. Wir müssen unseren Code überhaupt nicht ändern. Wir können uns einfach ändern oder einfach einen neuen Artikel zu unserer Power-App-Liste hinzufügen. Gehe zu unserer Power-up-Szene und erstelle neue Animationen, und wir werden gut sein. Wir müssen unseren Code überhaupt nicht anfassen. Jetzt, wo wir die Position haben, wollen wir, dass sie sie spawnt. Und die Kraft oder die Kraft, die wir im Spiel zeigen und zeigen wollen müsste diese beiden Dinge tatsächlich festlegen und in unsere Szene aufnehmen, um gesehen zu werden. Um das zu tun, können wir unsere Macht richtig machen oder ein Beispiel unserer Macht hier hochbringen . Wir werden die Position festlegen. Wir wollen die x-Eigenschaft davon. Deshalb wollen wir das unserer Position ausstellen. Unterstreiche x, was auch immer diese Zufallszahl ist. Wenn wir uns hier unser Power-up-Skript ansehen, denken Sie daran, dass wir eine Funktion namens create power up erstellt , und einen Typ übergeben haben. Dieser Typ wird die Energie sein, die wir weitergeben. Der Power-Typ wird hier also einer von diesen sein , der auch den gleichen Namen wie unsere Animationen hat. Wir werden also auch eine Animation abspielen , die auf dem basiert, was wir übergeben. Damit wir an die Macht gehen können. In unserem Beispiel hier werden wir Create Power nennen. Und das erfordert ein Argument. Und dieses Argument wird unsere Macht sein. Und das sollten keine Großbuchstaben B in Kleinbuchstaben sein. Wir gehen, okay. Jetzt haben wir also unsere Position festgelegt. Wir haben den Power-Typ eingestellt und unsere Animation sollte abgespielt werden. Jetzt müssen wir das nur noch in unsere Szene aufnehmen. Und da sich unser Spawner nicht bewegt oder so, haben wir ihn einfach direkt zu unserem Spawner hinzugefügt. Wir sagen Add Childpower. Und wenn wir jetzt unsere Szene unseres Spawners hier spielen und einen Blick darauf werfen würden. Oh, mein Fehler. Es ist Creep-Power Up, keine Kriechkraft. Okay, speichern wir das einfach und testen die Szene noch einmal. Jedes Mal, wenn diese Zeit abgelaufen ist, sollten wir sehen. Alles klar, als du hier klein warst, habe ich vergessen, wie es uns eine Zahl gibt. Wir müssen immer noch darauf zugreifen, was das ist. Also müssen wir in unsere, unsere, unsere x-Liste gehen . Und den Index, den wir als unsere Macht weitergeben werden. Mein Fehler da. Ich bin ein bisschen vor mir selbst gesprungen. Wenn wir jetzt weitermachen und es testen, sollten wir jetzt sehen, wie unsere Kräfte in einer Animation erscheinen. Das sind Schilde. Und wir warten wieder auf den Timer, ihre Geschwindigkeit. Es ist eine andere Geschwindigkeit. Und wir sehen, dass es völlig zufällig ist. Jedes Mal, wenn wir drei Köpfe hintereinander haben, ist das eine Menge Geschwindigkeit für unseren Charakter. Es gibt noch einen Schild. Geschwindigkeit, viel, viel in der Mitte, es gibt eine Multishot-Geschwindigkeit. stehen wir der Gesundheit nicht zu viel im Weg Moment stehen wir der Gesundheit nicht zu viel im Weg . Es gibt ein Schiff, aber wir bekommen viele Schilde, was nett sein könnte. Es gibt einen Schweden. Das ist eine weitere Geschwindigkeit, mit der wir viel reden können. Können wir hier eine Gesundheit bekommen, Zwangsvollstreckung? Was bekommen wir ein x? Wir haben ein Multi. Okay, anscheinend werden wir hier keine Gesundheit für unsere Power-Ups bekommen , was bedauerlich ist, aber es ist zufällig. Es wird erscheinen, glauben Sie mir, an diesem Punkt liegt alles an orange. Jetzt müssen wir nur noch in unsere Welt und unser kleines Kettensymbol hier oben gehen und einfach unseren Spawner in die Szene aufnehmen. Und los geht's. Wir haben jetzt Power-Ups , die in unserem Spiel erscheinen. Sie machen gerade nichts, aber sie erscheinen. Und wir können unseren Timer immer so anpassen , wie wir das in Zukunft wollen . Wir haben eine Gesundheit für uns selbst. Nun, ein Problem, das wir hier haben werden. Ein Problem hier ist unser Power-Up. Manchmal wollen wir nicht, dass es immer auftaucht, hochfährt. Wir wollen nicht, dass es zum Beispiel alle 20 Sekunden oder alle zwei Sekunden eingeschaltet ist. Wollte manchmal bekommen wir kein Power-Up und manchmal schon. Also für so etwas, wenn du diese zufällige Chance haben willst, nur um deinem Spiel etwas mehr Zufälligkeit zu verleihen. Dann können wir hier eine weitere Variable namens let's go erstellen . Nennen wir es eine Chance. Und wir setzen es wieder auf eine zufällige Ganzzahl. Und wir können eine Zahl als Prozentsatz von zwei weitergeben. Und jetzt heißt das 0 oder eins. Wir können also 0 sagen, es gibt nichts aus und das tut es auch. Dafür können wir also den Zufall erreichen. Ich sage 0. Dies wird vorübergehen und niemand wird tatsächlich die Kraft dessen erzeugen, was wir brauchen, um dies in einem weiteren zu nutzen. Los geht's. Da haben wir's. Jetzt haben wir also nicht immer ein Power-Up. Um diese Wassup-Miete unter der 0 zu zeigen, werde ich sagen, dass es keinen Strom gibt. Lass uns weitermachen und in unsere Welt laufen und wir können uns das ansehen. Sie sehen, wir müssen diese Zeit hochfahren und wenn wir uns früher oder später unsere Ausgabe ansehen , sollten wir eine 0 erreichen. Da haben wir's. Keine Energie. Schon wieder kein Strom. Drei Fälle ohne Kräfte hintereinander. Sie können also schon sehen, obwohl wir einen kurzen Timer haben, da es hier eine Chance von 5050 ist, reduzieren wir das Potenzial wirklich. Aber gleichzeitig können Sie sehen, dass wir auch viele Kräfte bekommen. Wenn Sie das also ändern wollen in, ich sage, eine Chance von 10%, dann können wir hier reinkommen und wir können zehn sagen, oder? Wir können dies auf zehn Zahlen setzen, also 0 bis neun. Und alles was wir tun müssen ist, dass wir herkommen können. Sie können dies auf eine beliebige Zahl setzen . Es ist egal. Also setzen wir es auf 0. Zum Beispiel. Wir könnten die anderen einfach als Platzhalter weitergeben und sagen, keine Macht. So lang unser Timer auch ist, denke ich, dass es 1 Sekunde ist. Ich glaube nicht, dass es das ändern würde. Wir haben nur eine Chance von 10%, dass ein Power-Up spawnt. Wie auch immer Sie das tun möchten, was wollen Sie mit der 5050-Route machen? Oder wenn Sie mit einer solchen prozentualen Chance gehen möchten. Das sind also 10%. Wenn wir dies in eine Fünf ändern und ausführen, haben wir jetzt eine Chance von eins zu fünf. Fünfte würde also eine 20% ige Chance haben, dass unser Power-Up spawnt. Was ziemlich anständig ist, Sie können dies jederzeit ändern, wenn Ihre Levels steigen. Wenn du Levels hast oder du kannst es einfach zu einem unendlichen Scroller machen und vielleicht die Zahl anpassen. Sie können also die fünf dort ändern , um möglicherweise die Überstunden zu erhöhen. Aber ich bin mir sicher, dass dieses Video zu diesem Zeitpunkt ziemlich lang wird , aber so erstellen wir Power-Ups. So können wir die 5050-Chance nutzen ob es sich um Spawns handelt oder nicht. Auf diese Weise können wir eine prozentuale Wahrscheinlichkeit ein Power-Up spawnt. Und denk dran, du kannst reingehen und den Timer unseres Spawners ändern . Hier. Sie können den Timer auswählen und wir haben keine drei Sekunden. Sie können dies jedoch so lange anpassen, lange Sie möchten, dass sich Ihr Gerät zwischen potenziellen Power-Ups befindet. Damit hoffe ich, dass Sie eine ziemlich gute Idee haben. Wie erstellt man ein Power-up? Wie erkennt man sie in der Welt? Das hebe ich mir nochmal auf. So weißt du jetzt, wie man Power-Ups erstellt, sie zu deiner Liste hinzufügt, die Animationen für ihn erstellt und sie in deiner Welt spawnt, damit wir sie verwenden können. Audits für die Power Apps sollen jetzt tatsächlich in der Lage sein, mit ihnen zu interagieren und sie entsprechend handeln zu lassen , je nachdem, was sie sind. 15. Energieaktivierung: In Ordnung, lass uns weitermachen und unsere Power-Ups erstellen und sie funktionsfähig machen. Dass sie tatsächlich Dinge tun und mit dem Spieler interagieren können , würde es nicht verstehen. Okay, also lasst uns in unsere Power-up-Szene gehen. Und wir können unseren Bereich 2D auswählen. Und wir werden tatsächlich ein Signal des eingegebenen Körpers weitergeben . Könnte das direkt an unsere Macht hier oben weitergeben. Und jetzt wollen wir als Erstes sicherstellen, dass dies der Spieler ist. Also werde ich überprüfen, ob Spieler und Körper und Körper Punktnamen sind. Und ich kann das noch mal überprüfen. Ja, ich habe hier meinen kinematischen Körper namens Spieler mit einem großen P. Also sollte das funktionieren. Sorry, wenn Spieler in und Body Dot Name wann hier runter kommen und wir können was auch immer entsprechend passiert ist haben. Jetzt wollen wir natürlich, dass dies von der Art der Leistung abhängt. Aber jetzt können wir loslegen und drucken. Und wir können sagen, dass Energie gewonnen wurde. Und wenn wir das jetzt spielen würden, wenn wir in unsere Macht geraten, wenn einer von ihnen erscheint, sollten wir sehen, dass das auf der Konsole ausgedruckt ist. Bumm, da haben wir's. Leistung erhalten. Die eigentliche Frage lautet also, was sollen diese mit jeder Kraft anfangen? Nun, wir können hier Geschwindigkeit als Beispiel verwenden. Aber ich möchte, dass du versuchst herauszufinden, wie wir das Speed-Power-Up erreichen können , um die Geschwindigkeit unseres Spielers zu erhöhen. Okay, also mach weiter, pausiere das Video und nimm dir einen Moment Zeit, um das zu tun . In Ordnung, willkommen zurück. Ich werde, ich werde es durchmachen, und was ich tun werde, ist, eine mathematische Aussage zu verwenden und meine Leistungsaufnahme anzupassen. Also maximale Leistung eng. Und ich werde sagen, wenn der Typ der Geschwindigkeit entspricht, werde ich auf den Körper zugreifen , der unser Spieler ist. Denk dran, ich werde den Geschwindigkeitswert bekommen, die Körperpunktgeschwindigkeit, und ich setze sie auf 200. Was auch immer unsere Geschwindigkeit ist, wir werden sie vervielfachen. Und um Fehler vorerst zu vermeiden, nennen wir ihn einfach den Platzhalter und kommen vorbei. Mal sehen, wie das jetzt passiert. Natürlich müssen wir warten, bis ein Speed-Power-up erscheint. Wenn wir Glück haben, kriegen wir sofort einen. Sie können sehen, wie langsam wir uns hier bewegen. Und das sollte sich verdoppeln, sobald wir ein Speed-Power-up bekommen, das heißt Gesundheit, nichts passiert. Das ist in Ordnung. Gleiche gilt für shield, da dies unter unseren Platzhalter fällt , der im Moment nichts bewirkt. Das ist mehr Gesundheit. Ihre Geschwindigkeit. Wir haben es geschafft und Sie können sehen, dass wir viel schneller sind. Bereit? Natürlich Schild, das werden wir vermissen. Wenn wir eine andere Geschwindigkeit erreichen sollte sich das vervielfachen. Ich verstehe also, dass es uns nicht einmal vervielfachen wird weil wir es schwer auf 100 gesetzt haben. Wir vermehren die Süßigkeit überhaupt nicht. Das ist also alles in Ordnung und gut, aber wir müssen auch unsere Geschwindigkeit irgendwann wieder auf den Normalwert zu reduzieren. Was wir also tun werden, ist zunächst eine neue Variable namens Geschwindigkeitsmultiplikator zu erstellen . Und wir werden das auf zwei setzen. Auf diese Weise können wir dies in Zukunft mit Leichtigkeit vervielfachen. Also werden wir das zwei mal gleich setzen , was bedeutet, dass wir die Geschwindigkeit gleich der Geschwindigkeit mal setzen , was auch immer wir hier auf der rechten Seite setzen, was in diesem Fall unser Geschwindigkeitsmultiplikator sein wird. Wir sagen also, Geschwindigkeit ist gleich Geschwindigkeit mal Multiplikator, sozusagen Tom Steel. Und das wird uns das gleiche Ergebnis geben nur ein bisschen modularer ist, denn das würde hier auftauchen und wir können es einfach an das anpassen , was wir wollen. Im Moment. Ich lasse es einfach um zwei Mal stehen. In Ordnung? Jetzt brauchen wir also einen Weg, damit die Geschwindigkeit nachlässt. Für meinen Spieler will ich also, dass ich meine Geschwindigkeit will. Ich möchte, dass alle meine Power-Ups von Dauer sind. Ich würde sagen zehn Sekunden. Also erstelle ich einen Timer auf meinem Player und nenne ihn unseren App-Timer. Ich setze die Wartezeit dafür auf zehn Sekunden, weil ich so lange meinen Power-Up-Slash haben möchte. Ich verbinde das Timeout-Signal mit meinem Player. Und jetzt, wenn das Timeout eintritt, werden wir das je nach aktivem Power-Up tun . Also werden wir eine neue Variable namens Wirkleistung erstellen . Und das wird nur eine Zeichenfolge sein. Und wir werden sagen „Wirkleistung anpassen“. Also, wenn unser Timer mal l. Am Ende unserer zehn Sekunden werden wir das sein, was unsere aktive Kraft ist. In diesem Fall arbeiten wir mit Geschwindigkeit als Beispiel. Wir werden also sagen, wenn unser Timer abgelaufen ist, werden wir unsere Geschwindigkeit wieder normalisieren. Also nehmen wir unsere Geschwindigkeitsvariable und setzen sie auf 100 zurück. Und wenn wir noch etwas anderes haben, werden wir vorerst einfach bestehen. In Ordnung, wenn wir das jetzt ausführen würden, werden Sie feststellen, dass es hier ein Problem gibt. Wenn wir jetzt weitermachen und auf diesen Schild warten und weißt du was? Ich werde weitermachen und hier unten drucken, nur um sicherzugehen, dass wir nicht falsch zählen. Normale Geschwindigkeit. Lass uns das nochmal versuchen. Nepali. Okay. Komm her mit der Geschwindigkeit, jederzeit aufzutauchen. Anscheinend wird das wirklich Pech und keine Power-Ups bekommen , während wir versuchen, sie hier zu testen. Als super bedauerlich. Aber es kann natürlich passieren, weil alles zufällig ist. Es sieht also so aus, als ob wir eine ziemlich trockene Jahreszeit in unseren Power-Ups haben. Ihre Geschwindigkeit haben wir verstanden. Okay. Sie können sehen, dass wir rasen. Wenn wir uns die Ausgabe ansehen, können wir sehen, dass sich die Geschwindigkeiten jeder zweiten Stunde wieder normalisiert haben. Aber das tut es nicht. Und warum nicht? Weil wir den Timer nie wirklich starten. Und das wird natürlich ein Problem sein. Wir können unsere Sprache am Ende der Zeit nicht wieder normal machen wenn wir den Timer nie starten. Was wir also beim Hochfahren wieder tun müssen ist, wenn es um Geschwindigkeit geht. Wir müssen nicht nur den Multiplikator ändern oder den süßen Wert verfolgen. Aber wir müssen auch body dot get node machen. Lass uns einen Blick darauf werfen. Wie haben wir es genannt? Wir nennen es einen Power-Up-Timer. Also werden wir hier eine Saite namens Power Tyrone haben . Stellen Sie sicher, dass es genau gleich geschrieben ist , da sonst ein Fehler auftritt. Also Power-up-Timer und wir sagen Punkt Start. Also starten wir den Timer. Und jetzt, wenn wir es abspielen, erhöht sich nicht nur die Verschlusszeit, sondern auch der Timer startet. Und wenn der Timer endet oder die Geschwindigkeit wieder normal wird. Aber wenn Sie darüber nachdenken, fehlt uns immer noch eine entscheidende Sache, warum unser Timer dies nicht wieder normalisiert. Kannst du dir überlegen, was das ist? Das ist direkt in unserem Player. Wir stützen uns auf die Wirkleistung, aber wir legen nie fest, was diese Wirkleistung ist. In unserem Power-up-Skript müssen wir das also auch festlegen. Also körper-Punkt-Wirkkraft. Klar, das habe ich richtig geschrieben. Aktiver Unterstrich. Wir können das gleich Geschwindigkeit setzen. Oder wenn wir es nicht dort platzieren wollen. Wir können es auch hier einrichten, wenn wir wissen, dass wir es nicht einrichten wollen. Wenn wir die Power App erstellen, wollen wir sie nur machen, würden sie nicht abholen. Also müssen wir es hier unten in unserem Spiel machen. In Ordnung? Wenn wir es also jetzt versuchen, sollte die Geschwindigkeit steigen. Wie zuvor sollte der Machtakt festgelegt werden. Wir wissen also, was zu tun ist , wenn der Timer abgelaufen ist. Und wir sollten beim Timer anfangen , damit er ausgehen kann. Nichts passiert. Und wir warten einfach auf die Geschwindigkeit. Ich hatte einen Tippfehler in meinem Namen. Hier ist das Problem. Ich habe ein Kapital I und meinen Timer. Ich muss das in Ordnung bringen. Da haben wir's. Ich bin Aaron wegen eines Tippfehlers raus. Deshalb ist es wichtig , dass Sie die Dinge genau so buchstabieren , wie Sie es zuvor hatten. Denn wenn wir Strings vergleichen, Groß- und Kleinbuchstaben sind Groß- und Kleinbuchstaben zwei sehr unterschiedliche Zeichen. Also lasst uns weitermachen und noch einmal warten bis ein weiteres Geschwindigkeits-Power-up erscheint. diesem Grund testen wir den Code immer während wir gehen. Das wollen wir nicht. Eine Menge Dinge rein und dann testen und 30 verschiedene Fehler von all diesen verschiedenen Orten erscheinen. Wir möchten sicherstellen, dass wir den Fehler erkennen, wenn er auftritt, damit wir ihn sofort beheben können. Also warten wir einfach darauf, dass dieses Geschwindigkeits-Power-up erscheint. Es ist eine andere Gesundheit. Bumm, bumm, bumm, bumm. Schiessen. Das funktioniert immer noch. Wir bekommen einen Bildschirm, der Schild ist. Es gibt eine Geschwindigkeit. Da haben wir's. Sie können viel schneller sehen, wo die Zeit abläuft. Mal sehen, dass das Ausdrucken wieder normal wird. Und wir sind wieder langsamer. Jetzt haben wir ein Geschwindigkeits-Power-up, das so funktioniert, wie es beabsichtigt ist , und uns wieder normal macht. Das Letzte , was wir tun müssen, ist die Anpassung der Dinge an das Gedächtnis, denn im Moment haben wir ein Speicherleck in unserem Spiel. Und das liegt daran, dass unsere Power Apps nie verschwunden sind, obwohl sie außerhalb des Bildschirms sind. Es gibt immer noch in unserer Welt. Was wir also tun wollen ist, dass wir unsere gedruckte Erklärung dort loswerden können. Und wenn wir mit dem Spieler interagieren, wollen wir uns selbst befreien. Denken Sie daran, dass self optional ist, also können Sie einfach q für jedes Kind eingeben, genau wie wir es bei diesem Kind tun. Persönlich tippe ich lieber selbst, aber Sie müssen sich nicht frei anstellen , wenn der Player das Power-Up berührt. Aber wir wollen dabei auch einen Blick darauf werfen ob unsere Position als verschwindet. Wir wollen also sagen , ob das alles Hauptstädte sind. Also sagen wir, wenn self dot session dot y größer ist als, und wenn wir uns an 400 long erinnern. Nehmen wir an, wenn es größer als 400 ist, aber wir müssen die zusätzliche Zeit berücksichtigen weil der Punkt in der Mitte des Verses sein wird , oder? Also sagen wir für 20. Wenn unsere Position also größer als 420 ist, werden wir unsere Macht erneut anweisen, sich selbst zu löschen. Und wenn wir das nicht hätten, könnten Sie es im Remote-Tab sehen , den ich Ihnen hier in einer Sekunde zeigen werde. Wir werden weitermachen und Sie werden die Fernbedienung hier auf der linken Seite sehen , laut Hit, dass dies unser Spiel ist, während es läuft. Wenn wir also unseren Spawner öffnen, sehen Sie, dass die Power Apps kommen. Und Sie werden sehen, dass sie sich selbst löschen, sobald sie den Bildschirm verlassen . Vorher haben sie das nicht gemacht. Wenn du möchtest, kannst du gehen und diese kommentieren. Und da hast du's. Du hast gesehen, wie das Power-up verschwunden ist. Und wenn Sie möchten, können Sie zurückgehen, das kommentieren und sich das Bild ansehen , das verschwunden ist. Wenn ich spreche, taucht es auf. Wir sollten darauf stoßen und sehen, wie dieser Tausch verschwindet. Und wir könnten diesen R-Code tatsächlich leicht optimieren. Aber stellen wir einfach sicher, dass das funktioniert. In Ordnung, da ist also unsere Geschwindigkeit. Wir haben einen Geschwindigkeitsschub. Ein Power-up ist verschwunden. Der Timer sollte alle sekundären Rückgänge zum Normalzustand ausgehen . Es sieht also immer noch als würde es einwandfrei funktionieren. Also, womit ich gesprochen habe und wir könnten unseren Code auch referenzieren oder wieder normalisieren, oder eher ein bisschen mehr optimieren da wir nicht jeden selbst Punkt Q schreiben wollen, für jede einzelne Potenz, weil wir möchte das trotzdem jedes Mal machen. Was wir also tun werden, ist, dass wir tatsächlich runter und außerhalb unserer Spielaussage kommen , solange die Spielerinteraktion besteht, also sind wir immer noch innerhalb der if-Anweisung. Wir werden es befreien. Was Sie jetzt tun können, ist, dass Sie jetzt hier reingehen und mehr Power Up erstellen können , damit Sie unseren Platzhalter dort ersetzen können. Wir können also zum Beispiel Gesundheit sagen. Und jetzt kommst du her und erstellst eine Gesundheitsvariable für deinen Spieler, wenn du möchtest, wenn du vorspringen willst und das jetzt tun willst. Und du könntest einen zur Gesundheit deines Spielers hinzufügen. Wir können uns das Multi ansehen und Sie können es aktivieren und so haben, dass Sie, wenn Sie jetzt auf einem Shooting sind, zum Beispiel zwei schießen können . Oder vielleicht änderst du das Projektil komplett. Wann hast du das Multi bekommen, was auch immer du willst, es liegt ganz bei dir, aber du kannst jetzt für jede Kraft, die du aufnehmen würdest, verschiedene Effekte erzeugen . Und wir sehen uns im nächsten. 16. Schilde: Okay, also lasst uns weitermachen und die Schildstärke in unseren Spielern erhöhen die Schildstärke in , damit wir nicht getroffen werden können. Wir werden also eine visuelle Darstellung davon haben. Ich werde mich darum kümmern und verschwinden, sobald wir den beschädigten Teil dieses Kurses erreicht haben. Also werde ich weitermachen und verhindern , dass die Vorschau oder das Testspiel läuft. Und du solltest in deinen Sprites sehen, dass wir hier eine weitere Tabelle für unsere Schilde haben, und wir wissen, wie das funktioniert. Jetzt können wir weitermachen und ein Sprite an einem Animationsplayer dazu erstellen . Wir können weitermachen. Td gesehen, alles was wir brauchen ist ein Sprites. Dafür brauchen wir keine Animation. Also können wir uns hier direkt für ein Sprite für unsere Wurzel entscheiden. Nenn es Schilde. Wir brauchen einen Animationsplayer. Natürlich müssen unsere Schatten animiert werden. Du kannst sie dyadisch lassen, wenn du willst, aber ich bin kein schlechter. Was brauchen wir? Wir brauchen Schilde, da ist unsere Textur. Bringen Sie das in Animationen mit. Wir haben horizontale Rahmen, drei vertikale. Und da ist unser Schild. Wir können weitermachen und einige Animationen für diese Szene festlegen. Wir können unsere Animation erstellen. Animation wusste es. Das endet damit. Wie hoch ist seine 0,75? Also 0.9, ich kann das verlassen, was uns sagen würde, wir sollen eine Schleife machen und wir werden sehen, wie das aussieht. Okay, das sieht also ein bisschen aus. Es sieht okay aus. Für manche Menschen kann es etwas langsam oder schnell sein, es liegt ganz bei Ihnen. Das erste, was mir aufgefallen ist, ist, dass meins verschwommen ist , das ganz schnell wieder zu importieren. Und schalte meinen Filter aus. Sehr wichtig, los geht's. Und spiel das. Jetzt gehen wir. Mal sehen. Ich will das nicht beschleunigen. Was passiert, wenn wir das beschleunigen? Ich gehe einfach. Jetzt ändern wir dies stattdessen auf 0.1. Und alles bewegt sich in Führung oder Funktion. Schnapp es da unten. Drittens, die sehen, wie das aussieht. Ich denke das sieht besser aus. Ich passe meine Länge hier auf 0,6 an. Okay, ich denke, das sind die Zahlen, zu denen ich passen möchte. Ich werde mit 0,05 auf meinen Snap gehen. Ihre Gesamtlänge von 0,3. Ich glaube, ich bin mit dieser Geschwindigkeit an meinem Schild zufrieden. Du möchtest vielleicht, dass du langsamer zu meinen Beobachtern bist. Aber ich denke, das ist es, was ich tun möchte, um das zu retten. Und jetzt, wo wir diesen Krater haben, werde ich die Animation beenden. Und die Animation hier. Wenn wir unsere aktuelle Animation so einstellen, dass Schilde aktiv sind, sollte sie automatisch abgespielt werden , wenn sie in der Szene ist. Und wir brauchen einen Erkennungsbereich oder wenn unsere Schilde später getroffen werden. Also werde ich einen Bereich für D erstellen. Und das braucht eine Kollisionsform. Für die Form gebe ich ihr einfach einen Kreis, so etwas. Und wir können uns das mit unserem Spieler ansehen, um sicherzustellen , dass es unseren Spieler und Blocker-Spieler davor schützt, getroffen zu werden. Mal sehen, lass uns, lass uns unseren Player öffnen. Und jetzt fügen wir unseren Schild hinzu. Schau es dir an, damit wir unseren fertigen, herausstehenden Spieler ein wenig sehen können. Was ich also tun werde, ist , meine Schilde hier zu vergrößern. Ich werde hier runter kommen, um mich zu verwandeln und ich werde meinen Maßstab vergrößern. Das könnte auch ein bisschen sein, vielleicht 1,25. Lassen Sie mich einen Blick darauf werfen, dass definitiv alles gesperrt wird , all unsere anderen Hits hier. Speichere dir das und sieh dir das jetzt im Spiel an. Was wir jetzt haben, nicht animierend wie ich erwartet hatte, funktioniert, also ist das in Ordnung. Wir können es einfach so einstellen , dass es automatisch im Shield-Skript selbst animiert wird. Wir gehen in unser Feld. Es ist ein Drehbuch an der richtigen Stelle. Skripte-Schild. Großartig. Ich bin bereit. Hat der Animationsplayer Schilde mit Punktwiedergabe aktiv? Und das war's. Los geht's. Jetzt wissen wir, was es ist, wie es wäre, Schilde um unseren Spieler zu haben. Jetzt wollen wir das natürlich nicht die ganze Zeit. Wir wollen das alles in B, wenn wir unseren Schild abholen , sind wir da oben. Also können wir jetzt in unseren Player gehen. Wir können unsere Schilde laden, sagen wir var, shield, Szene entspricht Nachladen, und wir bringen unseren Schild in die Luft, wie er ist. Das bringen wir rein. Und um das zu erkennen, können wir Schilde auf wahr setzen. Bar abgeschirmt, stimmt. Und das wollen wir natürlich auch besetzen, was wir trennen sollen. Dies wird ein boolescher Wert sein. Jetzt können wir hier runter kommen und ein Funktionsschild erstellen , aktivieren. Und wir brauchen ein Instanzfeld n entspricht shield seen instance. Und jetzt müssen wir das nur noch unseren Spielern hinzufügen . Selbstzweifel. Und der Kinderschutz sollte alles sein, was wir hier tun müssen. Gehen wir also zu unserem Power Apps Script über. Und wenn wir Schilde treffen, wenn das aufgegriffen wird, nennen wir es Body Shield Activate. Wir werden Ihre Rechtschreibung auf dieser Ebene noch einmal überprüfen. Und um sicher zu gehen, kopiere ich die Funktion und füge sie einfach dort ein. Okay? Es ist richtig. Und wir könnten es aus unserer Ebene löschen. Jetzt kann ich weitermachen und testen und wenn wir ein Show-Power-Up aufnehmen, sollte der Schild auf uns erscheinen. Und das wird natürlich sein, RNG , wann das tatsächlich auftaucht. In Ordnung, also haben wir uns einen Schild und los geht's. Zwei Sitze aktivieren alles in Ordnung. Jetzt müssen wir nur noch den Schild so einrichten, dass er verschwindet. wir wiederum in Angriff nehmen können , wenn wir in den beschädigten Teil kommen oder der Spieler Schaden erleidet. In Ordnung, also wenn Sie bisher mitverfolgt haben, Sie nicht alleine weggelenkt. Sie sollten jetzt ein Schild-Power-Up haben, das funktioniert. Und wir schienen gerade einen Bug zu haben weil wir einen zweiten Schild aufgenommen haben und jetzt haben wir drei. Wir können also eher unsere beiden anpassen, aber das können wir beheben. Wir können überprüfen, ob der Körper punktabschirmt. Stell sicher, dass ich das richtig verstanden habe. Ja, abgeschirmt. Wir werden standardmäßig auf „false“ setzen, nicht auf „true“. Sag, ob der Körper punktgeschützt ist. Also werden wir sagen, wenn shielded wahr ist, also wenn unser Player abgeschirmt ist, werden wir nichts tun. Wir wollen also das Gegenteil davon. Also könnten wir hier am Anfang ein Ausrufezeichen setzen und sagen, wenn nicht der Körper punktabschirmt, was uns falsch machen würde. Oder wir können das Wort eingeben, wenn es nicht körperreich, nicht abgeschirmt ist, je nachdem, wie es für Sie bequemer ist. Ich tippe das Wort ein, nicht nur um es auf einen Blick klarer zu machen. Wenn nicht, Körper nicht abgeschirmt. Also wenn unsere abgeschirmte Variable hier falsch ist , dann machen wir das. Sonst werden wir nichts davon tun. Wenn wir es jetzt laufen lassen und auf mehrere Schilde stoßen, sollte es nur für den ihr Schild funktionieren, den wir bekommen. Wir müssen uns noch auf eine Sache einlassen. Wir müssen hier in unsere Schilde kommen. Wir müssen uns daran erinnern , dass „Körper wurde abgeschirmt“ wahr wird. In Ordnung. Nun zu unseren Tests können Sie sehen, dass unsere Schilde nicht einen Schild stapeln werden , und das sind alle Shows , die wir bekommen sollten. Und los geht's. Also haben wir unsere Schilde funktionieren und wir einen kleinen Fehler behoben, der aufgetaucht ist. In Ordnung. Also gehe ich einfach zurück zu meinem Spotter und entferne das, da wir das nicht mehr testen müssen und das einfach wieder darauf einstellen, keine Macht zu sagen. Damit haben wir jetzt ein voll funktionsfähiges Schild-Power-Up. Nun, soweit es darum geht, ins Spiel zu kommen und benutzt zu werden. 17. Multi Shot: Ordnung, in diesem Video werden wir uns Hinzufügen einer Mehrfachaufnahme ansehen. Anstatt also von jeder Seite auf eine zu schießen, werden wir schießen, um Alice von jeder Seite zu schützen. Und sie werden in einem kleinen Winkel herauskommen. In Ordnung? Das erste, was wir tun müssen, ist, uns mit unserem Layer-Skript zu befassen. Und wir werden hier eine Variable erstellen. Für den Multishot. Standardmäßig auf falsch. Wir können hier in einen Kampf- oder Schießort gehen. Das in, und wir werden sagen, ob Multi-Shot oder wenn nicht Multi-Shot. Und tu das. Und dann können wir im Grunde eine Kopie davon machen. Und da unten kommen, aber dann wird der Code wiederholt. Aber wir brauchen sowieso das zusätzliche Wir. Hören Sie also jemanden sagen „anders-wenn, anders-wenn“ , „Mehrfachschuss“ sagen soll. Und wir werden vier davon brauchen, in unserem Fall drei oder so, jetzt haben wir vier Laichen, aber sie werden sich an diesem Punkt überschneiden. Wir werden weiter, mal sehen, diese Kinder hinzufügen. Hier sind Dreierszenen und Forstwirtschaft. Meistens ist das meiste von dem, was wir getan haben nur ein Kopieren und Einfügen dessen, was wir oben hatten. Was wir hier aber auch ändern müssen, ist die Geschwindigkeitseigenschaft. Also müssen wir das x davon ändern. Also werden wir die Geschwindigkeit des Schusspunkts x ändern. Wir können das auf setzen, mal sehen. Zuerst wollte man nach links und 34 nach rechts gehen. Also wollten wir nur negative 50 sagen. Und wir können dies für Verbrechen in der Umgebung noch dreimal kopieren . 34. 34 werden also positiv sein, 512 werden negativ 50 sein. Und wir machen weiter und führen das durch. Das wird sich eigentlich nie ändern und wir müssen zu einer Macht gehen. Wenn Multi bekommt, wird es seinen Körper machen. Multishot, richtig? Kopiere die Mehrfachaufnahme, stimmt. Okay, Sie können jetzt sehen, mit unserer Mehrfachaufnahme, wir diese Kreuzaktion am Laufen haben. Jetzt können Sie Ihre Zahlen hier natürlich nach Belieben anpassen. Und wir müssen uns nur entscheiden, wann diesen Multishot ausschalten sollen. Sie sehen, wir schießen auch nicht mehr. Wir schießen Projektile. Und wenn ich das ganz schnell neu starte, sehen Sie, dass wir wieder bei Shooting Two sein werden. Im Moment müssen Sie nur noch entscheiden, wie oder wann dies ausgeschaltet wird. Und dann komm her zu unserem Spieler und der aktiven Leistungsgeschwindigkeit. Also denke ich, dass ich auch diesen Abschnitt wiederholen oder unsere Kräfte deaktivieren werde . Aber das können wir uns für ein anderes Mal aufheben. Aber im Moment können wir sehen, dass sich das einschaltet, es funktioniert. Und mal sehen, wie wir Multi-Shot aktivieren können, wer Funktion war, kommt hier nicht runter, um Multi-Shot wirklich zu ermöglichen. Dadurch wird Multi-Shot wahr. Was wir dann von hier aus tun können, ist , wir können einen Ertrag verwenden. Jetzt wird das in 4 anders funktionieren , etwas anders. Diese Klammern brauchst du nicht. Vielleicht musst du einen Blick darauf werfen und sehen, was der Unterschied für das x ist. Da bin ich mir nicht hundertprozentig sicher. Aber wir haben yield und dann wollen wir tree dot create timer bekommen. Hier drin ist, wie lange wir wollen, dass es dauert. Wir sagen fünf Sekunden, holen die Timeouts, und dann setzen wir Multishot auf false. Nun, das könnte verwendet werden, diese Methode könnte die Art sein, wie ich unsere Power Apps hier wiederhole, oder? Das ist die Geschwindigkeit und wir gehen vorwärts. Also kommen wir rein und anstatt Multi-Shot zu aktivieren, werden wir sagen, Body Dot Enable Multi Shot. Und wir schauen uns an, wie das funktioniert, stellen sicher, dass das funktioniert. Also schießen wir zwei aus dem Tor, was großartig ist. Wir haben einen Mehrfachschuss, habe auf vier von ihnen geschossen. Am Ende unseres Timers. Wir sind wieder bei dir mit zwei. Also los geht's. Wir haben eine Mehrfachaufnahme , die wunderbar funktioniert. Okay, wir haben also einen Schild, der aktiviert und für uns aktiviert, und wir haben einen Mehrfachschuss , der sich einschaltet und uns unsere Kraft und Fähigkeiten verleiht . Auch hier können Sie diese Zahl einfach so ändern wie Sie möchten, so lange Sie möchten. Und wenn Sie verschiedene Shooting-Power-Apps haben verschiedene Shooting-Power-Apps , die Sie in Zukunft aktivieren, ist dies alles, was Sie tun müssen. Ändern Sie, was auch immer Ihre Fähigkeiten sind, und ändern Sie, was auch immer Sie schießen oder wie auch immer Sie das tun. Wenn Sie also einen Laser haben, bringen Sie ihn mit. Du wirst eine Instanz einer völlig anderen Szene haben . Zum Beispiel würden Sie im Fall eines Lasers einfach zum Player hinzufügen, weil wir möchten, dass der Laser beim Player bleibt. In der Regel, wenn Sie eher einen traditionellen Laserstrahl haben , als Laser wie einen Blaster zu schießen. Aber da hast du's. So funktioniert Multi-Shot. Und wie gesagt, ich werde wahrscheinlich den Code hier für die Geschwindigkeit ändern. Und anstatt einen Power-up-Timer zu verwenden, verwenden Sie einfach eine kleine Funktion wie diesen Aktivator, bittersüß. 18. Kleine Änderungen: Okay, das ist ihr Aufenthalt. Ein kurzes Video. möchte Ihnen nur zeigen , dass ich die gerade erstellte Geschwindigkeit im gleichen Format, das wir für unseren Multi-Shot hier gemacht haben, erneut gerade erstellte Geschwindigkeit im wiederholt habe. Wir haben also eine Funktion namens enable speed. Es wurde ein Parameter hinzugefügt , den wir in einem Multiplikator übergeben können. Ich sagte, meine Geschwindigkeit soll nur Geschwindigkeit mal y Multiplikator sein. Wir warten unsere fünf Sekunden. Sobald das vorbei ist, verringern wir unsere Geschwindigkeit erneut um unseren Multiplikator. Und auf dem Power Append oder einfach nur Enable Speed aufrufen. Und wir geben den Multiplikator weiter, wir zuvor verwendet haben. Das ist also das einzige, was sich dort für die Geschwindigkeit geändert hat, die Schilde im Multishot sind gleich geblieben. Aber was wir tun können, ist, dass man es auch kann. Wenn wir unsere Projektilszene öffnen, könnten wir unsere Kollisionsform loswerden. Es wird angezeigt, wir werden ein gelbes Dreieck haben wenn Sie die Kollisionsform hier löschen. Aber wenn wir es einfach entfernen, ist das völlig in Ordnung. Und wenn wir das tun würden, sehen Sie hier und den Mehrfachschuss, dass die beiden in der Mitte, die genau aufeinander treffen, jetzt durch einander schießen werden, anstatt mit ihnen zu kollidieren einander und geradeaus gehen. Das sind zwei völlig unterschiedliche Ergebnisse, zwei verschiedene Ergebnisse. Es liegt also an Ihnen, ob Sie Ihre Kollisionsform auf Ihrem Projektil hier aktivieren oder deaktivieren möchten oder nicht Ihre Kollisionsform auf Ihrem Projektil . Und wie Sie sehen können, ist die Geschwindigkeit 54321 aktiviert und wir sind wieder normal. Es gibt eine Mehrfachaufnahme. Jetzt können Sie sehen unsere Mittelstücke irgendwann überkreuzen. Also, wenn du nicht willst, dass sie gegeneinander schlagen und perfekt geradeaus laufen. Das ist alles, was Sie brauchen, um die Kollisionsform auszuschalten. Und wir könnten es dort einfach komplett deaktivieren, weil wir es nicht sehen müssen. Da hast du's. Sie können sehen, dass sie sich überkreuzen und wir werden jetzt fast wie ein ToString-Shooting. Aber da haben wir's. Es liegt an Ihnen, ob Sie möchten, dass Ihre Kollision mit Ihrem Projekt deaktiviert wird. Oder wenn Sie möchten, dass das für diese Bildschirmdarstellung aktiviert ist , oder wenn Sie möchten, dass sie vollständig auf Ihre Entwickler - und Designauswahl übertragen werden. Aber ich dachte mir, ich würde das reinwerfen, nur um es dich auch wissen zu lassen. 19. Feindliche Einrichtung: Ordnung, im heutigen Video werden wir einen Blick darauf werfen , wie wir unseren Feind erschaffen. Wir werden ab und zu unseren Feind erschaffen, als nächstes werden wir unseren Feind zum Schießen bringen und unser grundlegendes vertikales Scrollen mit unserem Feind, den Bewegungen, durchführen. Okay, also zuerst müssen wir natürlich eine neue Szene gutschreiben. Dies wird genau wie unser Spieler ein kinematischer Körper sein, natürlich wird es ein TD sein. Wir brauchen ein Recht für unseren Feind. Ross, wir werden eine Menge Dinge brauchen , die wir hier über unseren Spieler haben. Wir könnten also eine Kollisionsform hinzufügen, weshalb wir hier unser Dreieck haben. Also haben wir unseren kinematischen Körper bei einem Kollisionspolygon bekommen. Willst du die Form los. Und wenn wir uns unseren Player ansehen, was brauchen wir sonst noch? Wir könnten später einen Animationsplayer verwenden, wenn Sie auf diese Weise Animationen speziell für Ihre Feinde erstellen möchten . Aber für diese spezielle Einstellung unseres Feindes werden wir sie nicht brauchen, aber wir werden hier keine Position verwenden , damit wir einen Ort haben, an dem unser Feind von einer Position nach D schießt. also können wir das von oben beginnend in Feind umbenennen. Ich nenne es das feindliche Schiff. Ich würde nicht anrufen. Sie können es als jede Art von Entität bezeichnen, die Sie speziell für diese haben möchten . Geh zu unserem Sprite. Wir können unseren Feind reinholen und wir stellen fest, dass es hier nur ein normales Sprite ist. Es ist kein Sprite-Sheet, also müssen wir uns keine Sorgen um das Malen der Animation oder so machen, denn dieses Spray wird sich einfach bewegen und schießen. Wir haben nicht all diese verschiedenen Animationen darauf. Sie können die Tabellenkalkulation natürlich verwenden, wenn Sie es möchten. Hier kann ich Ihnen die alternative Art und Weise vorstellen , die ich zuvor erwähnt habe. Und das ist es, was die Animation, tut mir leid, nicht der Animationsplayer, das animierte animierte, animierte Sprite. Nehmen wir an, Sie wollten eine Animation mit dem animierten Sprite machen . Wir würden reinkommen, wir würden Frames machen. Könnte sagen, wenn Sie keine haben, verwenden Sie kein Sprite-Sheet. Du hattest gerade einzelne PNGs. Du kommst hier rein und machst ein neues Sprite Frames. Darauf klickst du noch einmal. Und jetzt haben wir unsere Animationen hier, oder? Und es würde nicht hier reinkommen und untätig werden. Rechts, links, rechts. Und du kommst auf die Idee, wir können sie so machen. Und anstatt sich mit einer Zeitleiste herumzuspielen und Ihre Keyframes zu positionieren, haben Sie hier eine Geschwindigkeit, die bestimmt, wie nah jede dieser Tasten ist. Dann würden Sie nur jede einzelne Taste mitbringen rahmen Sie hier eins nach dem anderen ein. Und während es abgespielt wird, würde es eine Schleife durchlaufen. Und um uns das anzusehen, kehren wir einfach wieder zu unserem animierten Sprite zurück und wir spielen. Wir könnten uns das ansehen, was in diesem Fall natürlich das Zeug da drin ist. Also wenn wir in den Leerlauf gehen, wenn du siehst, dass unser Schiff ist und es durch unseren Frame CC das Gespenst spielt . Das ist also die Alternative. Wenn Sie nur PNGs haben und keine Tabelle für Ihre Feinde haben. So würdest du das angehen. Was wiederum, das ist in unserem Fall, der Feind ist nur ein statisches ENG. Es wird nur eine Bewegung basierend auf den Koordinaten auf dem Bildschirm geben. Aber zum späteren Nachschlagen, wenn Sie nur PNGs haben und keine Tabellenkalkulationen haben oder wenn Sie keine Tabellenkalkulationen verwenden möchten und Sie meinen Player und die Power-Ups in ihre eigenen Blätter zerlegen möchten. So würdest du es machen und es wäre jedoch dasselbe. Anstatt einen Animationsplayer aufzurufen, rufen wir das animierte Sprite auf und spielen die Animation jetzt ab. Also wie gesagt, wir brauchen das nicht für unseren, unseren Fall. Das werde ich los. Und ich werde das reguläre Sprite wieder zeigen. Kollisions-Box. Das ist nur ein einfaches Rechteck. Das ist alles was wir brauchen . Das wird kommen und wir werden es behandeln. Und Sie können entscheiden, wie viel von Ihrem Schiff Sie abdecken möchten. Also denke ich, ich werde nur diesen Teil abdecken und nicht den Waffenteil abdecken. Und meine Position zu d. Ich kann sicherstellen, dass ich das rote Spiegelbild erhalte , das unten ist . Da haben wir's. Ich bewege das nur ein bisschen vor dem Kanon, einem AAC. Wenn wir das aufnehmen sollten, bewegen Sie es herum. Wir haben unsere Position und von dort aus wird es schießen. Männer Lizzie, oder 0. Da haben wir's. Wir haben also unseren Feind. Rette unsere Szene. Und es wird versendet. Dass wir unseren grundlegenden Feind eingerichtet haben und bereit sind, zu schießen, bewegen und in unsere Welt gespawnt zu werden. 20. Feindliche Schießen: Okay, wir werden weitermachen und die feindliche Schießfähigkeit hier in Angriff nehmen . Nun, du könntest gebrauchen ist nicht so losgegangen wie wir es mit unserem Player gemacht haben. Erstellen Sie eine benutzerdefinierte Szene mit einer eigenen Aufnahme und geben Sie ihr ihre Farbe. Ich gebe ihm seine eigene Richtung. Sie müssen den Code darin nicht machen. Du wirst es einfach auf dem Bildschirm runtergehen lassen anstatt den Bildschirm hochzufahren. Aber aus diesem Grund werde ich Ihnen zeigen, wie wir das Projektil des Spielers einsetzen können . Also werden wir dieselbe, dieselbe Szene verwenden, die wir hier hatten. Wenn wir unsere Szenen öffnen, geht es los. Also zeige ich Ihnen hier, wie wir dieselbe Szene verwenden können . Aber passe es an, damit der Feind es benutzen kann, und erlaube unserem Spieler weiterhin, es zu benutzen. Um das zu tun, werden wir uns auf unser feindliches Schiff begeben. Wir fügen das Drehbuch hinzu. Stellt sicher, dass wir es an der richtigen Stelle in unseren Skripten platzieren. Klicken Sie auf Erstellen. Und los geht's. Wir haben das geschaffen. Um für unseren Feind anzufangen, müssen wir sie dazu in der Lage sein. Was wir also tun werden, ist hier eine Variable hinzuzufügen. Zeit oder feindliches Schiff. Wir werden unserer Szene hier einen Timer hinzufügen. Und wir können den einen benutzen, um irgendwelche Räume da drin zu haben. wollen wir vermeiden, um mögliche Probleme zu vermeiden. Und zurück in unserem Skript, jetzt wo wir eine Zeitvariable haben, können wir diese tatsächlich auf eine Zufallszahl setzen. Und um das zu tun, werden wir das tatsächlich belassen, haben einen Standard da oben. Und in unserer Ready-Funktion werden wir sie optimieren. Sollen wir randomize anrufen. Was wird unser c randomisieren, damit wir eine echte Randomisierung haben können. Auf diese Weise. Wir bekommen keinen sich wiederholenden Mund. Also werden wir jedes Mal , wenn wir das Spiel starten, nicht gerettet. 51013121. Wir werden nicht jedes Mal dieselbe Zahlenfolge erhalten , wenn wir den Seed randomisieren, das wird sich ändern, das wird sich jedes Mal ändern. Was wir hier also tun werden, ist, dass wir randomisiert nur einmal anrufen , weil wir nur die Zeit ändern wollen, die wir bekommen. Also setzen wir time gleich, und dann setzen wir es auf einen zufälligen Float. Und wenn wir uns das hier ansehen, machen wir weiter und wir setzen uns mit Randolph ein und bekommen eine Zufallszahl zwischen 0, zwischen 01. Okay? Das ist irgendwie nützlich. Aber zwischen 01 wird das wohl sehr kurz sein. Und im Falle dieses Feindes wollen wir nicht so etwas wie ein Maschinengewehr haben. Was wir also tun können, ist, dass wir einen Zufall machen können, wir können einen Float abrunden, wenn wir weitermachen und diese verwenden. Aber stattdessen was wir sind, was wir tun werden, werden wir einfach benutzen, wo ist es hier? Wir haben es schon einmal benutzt. Wir könnten einfach schimpfen gebrauchen. Da ist es, ganz unten mit unseren Prozentsätzen. Aber auch hier wollen wir, wollen das ein bisschen mehr durcheinander bringen. Also werden wir dieses Mal Rand Range verwenden. Also können wir Fließkommazahlen bekommen. Nur um die Dinge ein bisschen durcheinander zu bringen. Wenn Sie den regulären Zufall verwenden möchten, müssen Sie nur ganze Zahlen inkrementieren. Das kannst du machen. Aber dafür denke ich, dass ich Rand Range verwenden werde . Wie du hier siehst. Auf diese Weise können wir einen Float erhalten und müssen zwei Argumente übergeben , die kleinste Zahl und die größte Zahl. Also werde ich sagen, dass zwischen den Dreharbeiten mindestens 1 Sekunde liegen wird . Höchstens. Ich gebe fünf Sekunden zwischen den Dreharbeiten. Jetzt haben wir etwas Zeit zwischen 15 Sekunden Timer. Wir können dann loslegen und unseren Schuss-Timer holen. Und wir legen einfach die Uhrzeit fest. Wir können hier in den Eigenschaften sehen, dass es Wartezeit heißt. Warte Unterstrich, gut. Und wir können das gleich der Zeit setzen, die wir gerade geschaffen haben. Jetzt haben wir also eine zufällige Menge Zeit. Damit können wir unser Signal für meinen Timer verbinden, was auch in 4 ein bisschen anders sein wird. Wenn du es über Code machen willst. Wenn Sie möchten, dass dies so einfach wie möglich mit mir zusammen ist, kommen Sie einfach hier zu node und doppelklicken Sie auf Timeout. Es ist wie unser feindliches Schiff und drücke Verbinden. Auf diese Weise werden beide Versionen verwendet. Egal, ob Sie Version drei oder Version für die Engine verwenden . Aber wenn Sie diesen neuen Code verbinden möchten oder neugierig sind, wie das geht. Dann in, in der aktuellen Version hier, werden wir das tun. Diese Selbstzweifel verbinden viel, was sie wollten, du wirst bekommen, was du verbinden willst. Was ist dein Schuss-Timer? Sie würden etwas verbinden wollen. Was wir verbinden wollen, ist das Follow-up-Signal. Und dieses Signal, wenn wir es uns ansehen, heißt es Timeout. Also würden wir hier Timeout eingeben . Und das Ziel, mit dem Sie es verbinden möchten. Denken Sie daran, als wir unser feindliches Schiff ausgewählt haben, als wir so gegangen sind und unser Schiff ausgewählt haben. Was du hier auswählst, in diesem Fall unser feindliches Schiff. Damit wollen wir uns verbinden. Und da das Drehbuch auf unserem feindlichen Schiff steht, müssen wir nur selbst sagen. Das lässt uns mit einem dritten Argument zurück, das im Grunde genommen genau das ist, was der Methodenname sein soll. Wenn wir also so vorgehen, ist dieser Befehl hier im Wesentlichen das, ist dieser Befehl hier im Wesentlichen was der Motor gerade getan hat als wir so gegangen sind und das feindliche Schiff ausgewählt und Verbinden getroffen haben. Bei Version vier wird dies nun etwas anders sein. Und ich bin mir nicht hundertprozentig sicher , wie das von Anfang an aussehen wird. Aber wie gesagt, der einfachste Weg ist, einfach in diese Knotenregisterkarte zu gehen und das Timeout-Signal einfach auf diese Weise zu verbinden. Also wenn unser Timer abgelaufen ist, werden wir nur schießen. Also werden wir dafür offensichtlich unsere Szene brauchen. Also werden wir sagen, wir werden das laden weil wir das nicht nennen wollen, würden es nur versuchen wollen. Und in Schweden vorgeladen, lassen Sie unser Projektil normal sehen, bringen Sie das rein. Eine Auszeit. Wir machen unsere Shot-Instanz gleich oder Shot-Dot-Instanz. Jetzt haben wir es und können es in die Szene aufnehmen. Pferd, das wird hinzugefügt, um an uns selbst zu zweifeln. Aber in diesem Fall, wenn wir einen guten Elternteil haben zu unserem Spawner hinzugefügt wird, bewegt sich unser Spotter sowieso nie. Das ist also keine allzu große Sache, aber wenn du den ganzen Weg zur Welt gehen willst, wie wir es mit unserem Spieler tun. Dann können wir einfach zweimal Eltern bekommen. In den meisten Fällen möchten Sie jetzt versuchen, die Verwendung mehrerer Eltern zu vermeiden , nur um mögliche Probleme in der Zukunft zu vermeiden. Und hier würde es ins Spiel kommen, unsere eigenen Signale wie dieses zu erzeugen . Wann immer du den Baum hochgehst, ist es besser, Signale zu verwenden. Und wenn du den Baum runtergehst, bekommst du einfach den Knoten. Aber in diesem Fall, speziell für diese Art von Spiel, wird dies keine Problemquelle verursachen. Also können wir tun, um Eltern zu überspringen, Eltern und Kinder nicht zu bekommen. Und wir können unsere Instanzaufnahme hier hinzufügen. Das wird das also ins Spiel bringen . Das Problem ist an diesem Punkt, dass wir wissen, dass unser Schuss den Bildschirm hochgehen wird. Was also geschossen wird, wird dort ausgehen, wo unsere Feinde sich im Wesentlichen selbst erschießen werden . Und das wollen wir nicht. Wir müssen also Teile dieses Projektils modifizieren. Wenn wir also herkommen, können wir uns ansehen, wir setzen die y-Geschwindigkeit auf eine negative Geschwindigkeit. können wir also ändern. Jetzt, wo es zu unserer Szene hinzugefügt wurde. Wir können das sofort ändern , damit wir das überschreiben können. Also lass uns weitermachen und loslegen. Wir kriegen unsere Chance. Greifen Sie auf die Geschwindigkeit y davon zu. Die y-Eigenschaft unserer Geschwindigkeitsvariablen, und setzen Sie unseren Schuss auf unsere Geschwindigkeit. Denken Sie jetzt daran, dass unsere Geschwindigkeit positiv ist. Also werden wir es hier nicht abziehen. Ich möchte positiv werden, was es auf dem Bildschirm herunterschickt und es von unserem Spieler unterscheidet. Wenn ich diese Szene öffne, wenn du dich hier in unserem Sprite erinnerst, können wir weitermachen und wir können die Farbe hier unten in der Sichtbarkeit ändern und modulieren. Es scheint, als hätten wir das am kinematischen Körper gemacht, was dies ein wenig einfacher machen wird. Das ist alles was wir tun werden. Wir werden das Modul so ändern, dass es anders aussieht , wenn es von unserem Feind erschossen wird. Ich werde schockierte Moduli bekommen. Und wir werden das gleich einer anderen Farbe setzen. Wenn wir also nur das Wort Farbe eingeben , können Sie sehen, dass sich die Wortfarbe in eine Farbe ändert. Und das tun wir einfach. Wenn Sie solche Klammern verwenden, können Sie einen RGB-Wert übergeben. Wenn Sie doppelte Anführungszeichen verwenden, können Sie bei Bedarf einen Hex-Code übergeben. Ich werde die eingebauten Farben nutzen , weil es viele davon gibt. Ich werde einfach mal ausmalen, Punkt. Und jetzt sehen Sie, dass wir hier Tonnen verschiedener Farben haben , aus denen wir auswählen können und die bereits eingebaut sind. Und oft ist das alles was ich tun muss. Und es funktioniert normalerweise gut genug für mich. Ich glaube, ich versuche es. Mal sehen. Gehen wir mit einem mittelgroßen Purpur. In Ordnung, also sparen wir uns das. Lass uns in unsere Welt gehen und ein feindliches Schiff bauen. Wir bringen sie einfach hier in unsere Welt und klicken auf „Spielen“. Wir sollten in der Lage sein, innerhalb von fünf Sekunden zu schießen , basierend auf seinen Mietnummern. Nur dass er es nicht ist. Und der Grund dafür ist , dass wir den Timer zu keinem Zeitpunkt gestartet haben . Richten Sie es ein. Wir haben unseren aktuellen eingerichtet, aber den Timer nicht gestartet. Wir holen unseren Shot-Timer und nennen ihn einfach die Startfunktion. Und wenn unser Timer abgelaufen ist, werden wir das auch wieder tun. Also lass uns unseren Shot-Timer und die Spalten starten. Los geht's. Wenn wir nur einen Blick darauf werfen, können wir sehen, wie mein Projektbeauftragter hochgeht und sein Projekt herauskommt. Wir sehen es dort auf der linken Seite. Es bewegt sich nach unten. Und der Grund dafür ist warum wir dasselbe Problem hatten, mit dem wir mit unserem Spieler hatten. Wir müssen die Position davon korrigieren. Wenn wir also weitermachen und unseren Spieler als Referenz betrachten , haben wir die Spielerposition dort verwendet. Wir können sehen, dass wir eine Schussposition bekommen. Und wir setzen das gleich unserer Position 2D und gleich der globalen Position, Kopf runter in unseren Feind. Und das können wir überall machen. Wir wussten es, bevor wir als Kind oder danach hinzufügten. In diesem Fall spielt es keine Rolle, weil wir nichts innerhalb des Projekts Alex self außer Kraft setzen. Also schießen wir in Position und setzen das gleich, dass wir diese Disposition auf D haben, Nennen wir es Pause Shot-Position. Stellen Sie das gleich unserer Shot-Pause ein. Mobile Position. Los geht's. Und wir führen es jetzt aus. Es sollte jetzt von seinem Schlafzimmer aus geschossen werden. Wir sehen Mater Yellow und sein oder lila. Jetzt, da Lila in diesem Fall etwas dunkel ist, es für den Spieler möglicherweise schwer zu erkennen. Also werde ich weitermachen und diese Farbe ändern. Auf diese Weise können Sie Änderungen vornehmen und entscheiden, was vor Ihrem Hintergrund am besten aussieht. Nun, mit einer Limette wäre dies sehr, das ist sehr, sehr hell und von unserem Feind leicht zu erkennen. Das ist also fantastisch. An dieser Stelle können Sie einfach die Farben anpassen , die Sie dafür möchten. Und nur als Randnotiz, wenn Sie nur dieses eine Sprite verwenden möchten, aber verschiedene Schiffe haben möchten, sind unterschiedlich farbige Chips oder vielleicht möchten Sie diesen Kleber einfach nicht. Wir können tatsächlich das Gleiche tun, was wir mit unserem Schuss machen, um hier zu modulieren. Und da es nicht weiß ist, werden wir tatsächlich verschiedene Farben hinzufügen. Wie Sie hier sehen können, können wir hier verschiedene Farben bekommen wenn ich dort einfach die Kollisionsform abschalte. Und das können Sie sich ansehen. Sie können also leicht, leicht unterschiedliche Variationen vornehmen. Wenn du wolltest. Ich setze meine einfach wieder auf den Normalwert zurück. Und los geht's. In Ordnung, damit haben wir unseren Feind aufgestellt. Und wir haben jetzt unseren Feind in der Lage , uns zu einem zufälligen Zeitpunkt zu erschießen. Und um Ihnen zu zeigen, dass es zufällig ist, füge ich einfach eine weitere hinzu und bin hier zu unserer Szene, benutze einfach Control D zum Duplizieren. Da haben wir's. Wir haben drei verschiedene und sie werden alle zu drei völlig unterschiedlichen Zeiten drehen. Du gehst. Oh, wie Sie sehen können, sehen die beiden links aus, als wären sie ziemlich synchron, aber in ihrer Zeit sind sie tatsächlich ziemlich daneben. Ein bisschen zufälliger. Da haben wir's. Jetzt haben wir das Setup. Sie schießen und sie schießen zu zufälliger Zeit. Sie werden also nicht alle gleich sein , wenn sie herauskommen oder wenn sie gespawnt werden. Als nächstes werden wir also weitermachen und einen Feind, den feindlichen Spawner oder die feindliche Bewegung einrichten , von der ich denke , dass wir wahrscheinlich die grundlegenden feindlichen Bewegungen ausführen sollten. Denke, gut gehandhabt das als Auf diese Weise können wir, wenn wir es entdecken, tatsächlich erkennen, dass das Wesen gespawnt wurde, anstatt dass sie außerhalb des Bildschirms bleiben. 21. Speicherlecks: In Ordnung, also etwas, das ich zuerst angehen wollte, bevor ich es vergesse, ist, dass wir auf Probleme stoßen werden. Irgendwann dauert ein Spiel länger , weil wir ein Speicherleck haben. Was das ist, ist das, was wir ständig all diese Gegenstände schaffen , die es verursachen. Und wir haben es nicht mit ihnen zu tun , wenn wir sie nicht mehr brauchen. Also werden wir einfach weiter stapeln immer mehr und mehr , bis der Computer des Benutzers irgendwann langsamer wird und nacheilt oder vielleicht sogar abstürzt. Und wir schauen uns hier die rechte Seite an. Ich habe diesen Test unterbrochen , den Sie auf der Seite sehen. Und wenn wir uns nur dieses und den Remote-Bereich ansehen , werfen Sie einen Blick auf all diese Projektile , die in gespawnt wurden, aber nicht verschwinden. Obwohl wir sie nicht mehr auf dem Bildschirm sehen und sie für unser Spiel völlig irrelevant sind. Sie bewegen sich immer noch. Es gibt immer noch einen Teil unseres Spiels. Was wir also tun müssen, ist, dass wir uns jetzt darum kümmern müssen , wenn es unseren Bildschirm unten verlässt und wenn es unseren Bildschirm oben verlässt. Also machen wir weiter, gehen weiter und gehen hier auf unser Projektilskript ein. Ich werde eine Funktion zur Überprüfung erstellen. Was für ein Chat mit einer Checkposition. Es ist nicht der beste Name dafür, aber dafür wird es funktionieren. Wir sagen selbst. Wir können überprüfen, ob die Selbstpunktposition Punkt y ist. Ich werde sagen, ob er kleiner als 0 ist, denn denken Sie daran, 0 wird ganz oben links sein oder oben auf unserem Bildschirm ist 0 in der y-Richtung. Wenn es also weniger als 0 ist, werden wir es Q3 selbst mitteilen. Jetzt müssen wir auch überprüfen, wann die feindlichen Schüsse am unteren Bildschirmrand vorbeikommen. Und wenn Sie die Nummer Ihres Bildschirms vergessen, können wir wieder zu Ihren Projekteinstellungen kommen, gehen Sie zu unserem Schaufenster. Und denken Sie daran, dass sie nicht 400 groß ist, also wollen wir nach etwas suchen, das größer als 400 ist. Denkt an unsere Sprites, 32,5 davon sind 16. Also wollen wir die Position von LF, LF und Selbstzweifeln überprüfen. Don't Y ist größer als. Denken Sie daran, dass wir vorerst 400 gesagt haben. Denk dran, wir sagten 400. Aber wenn wir einen Blick darauf werfen und uns an das Projektil erinnern, ist der Punkt in der Mitte. Wir haben also die Hälfte, die Hälfte. Das wird immer noch herausragen, was in diesem Fall in Ordnung ist, aber es sieht besser aus, wenn wir warten , bis das Ziehen den Bildschirm verlässt. Da es sich um 32 mal 32 Sprites handelt , verwenden wir all diese. Wir können das tatsächlich überprüfen. können wir dem hinzufügen. Wir könnten also 16 hinzufügen, um ein bisschen zu bekommen. Wir machen 32, um das Ganze zu kriegen. Ich benutze nur für 50, gib ihm eine schöne runde Zahl. Und um sicherzustellen, dass es keine Möglichkeit gibt , dass es auf unserem Bildschirm übrig bleibt. Und dann sage ich es, dass es für dich ein Stichwort geben soll, wenn es das ist. Wenn wir uns jetzt diesen Remote-Bereich ansehen, wenn wir unser Spiel spielen, und uns all diese Projektile ansehen, die hereinkommen, werden sie gespawnt und löschen sie nicht selbst. Einfach. liegt nur daran, dass wir es nie unsere Check-Position mit dem Gradienten nennen, es aber nicht genannt haben. Ich rufe das einfach innerhalb unserer Prozessfunktion auf. Wenn Sie möchten, können Sie jetzt einen Timer erstellen , der dies überprüft. Anstatt dies jedes Bild und den Tiber zu nennen, einen Timer auf das Projektil zu setzen und wird es wahrscheinlich etwas leistungsfreundlicher sein, einen Timer auf das Projektil zu setzen und zu überprüfen, wann diese Zeit abgelaufen ist . Aber das hängt alles davon ab, wie weit Sie mit Ihrem Spiel gehen , ob dies letztendlich eine bessere Option ist oder nicht. Wenn wir reinkommen und einen Blick darauf werfen, schauen wir uns die Fernbedienung an, in der wir schützen sollen . Das Haus wird gespawnt und sie werden gelöscht, wenn sie den Bildschirm verlassen. Und das Gleiche gilt für die, die wir drehen. Die werden alle gelöscht und los geht's. Wir haben jetzt das Speicherleck behoben, das wir in unserem Spiel verursacht haben. So einfach ist es also. Es stellt sicher, dass Sie, wenn Sie etwas nicht mehr brauchen , es loswerden. Und wenn wir uns hier unsere Power-Ups in unserem Spawner ansehen , sehen wir, dass wir es nicht sind, wir haben keines dieser Probleme mit unseren Power-Ups. Und der Grund dafür ist, dass wir das hier tatsächlich angesprochen haben. Wenn Sie neugierig sind, werde ich ablehnen, wenn die Position größer als 420 war, und wir haben sie gelöscht. Wenn sie größer als ist, wird diese Zahl natürlich weitergegeben. Unser Spieler hat oder 100 überschritten. Dann wissen wir, dass es nicht mehr auf dem Bildschirm ist. Wir brauchen es nicht und werden es los. Also haben wir das mit unserem Power-Up angesprochen. Und jetzt hast du gerade mit unserem Projektil gesehen, warum wir das mit dem Remote-Tab dort drüben machen müssen. Mit nur der schieren Menge an Dingen , die wir erschaffen und die in unserem Spiel noch existieren und wie schnell sich das mit Projektilen aufbauen wird . Zum Beispiel. Auch hier, wenn wir einige mit einem Schnellfeuer haben, haben wir eine schnelle Schusswaffe. Zum Beispiel. Sie können sehen, wie schnell sich diese wirklich aufbauen können. Also haben wir das in Angriff genommen, das behoben und wir werden unserem Feind eine vertikale Bewegung hinzufügen. Wenn du nur möchtest, dass der Feind auf den Spieler zuscrollt. 22. Vertikale Bewegung: Lassen Sie uns weitermachen und uns mit unserer schönen Fähigkeit befassen , sich vertikal bewegen zu können. Wenn das alles ist, was du in deinem Spiel willst, dann ist das die ganze Bewegung , die du brauchst. Das hängt natürlich sehr davon ab, was Sie von Ihrem Spiel erwarten. Natürlich werden wir hier einfach unser feindliches Schiff finden. Und wir werden etwas Ähnliches machen mit unserem Projektil. Wir haben also unsere Geschwindigkeit und unsere Geschwindigkeit, die wir versenden wollen, um uns zu bewegen. Innerhalb unseres Prozesses brauchen wir Bewegung und Rutsche. Wir brauchen eine Geschwindigkeit, die eingefahren wird. Also werden wir natürlich einfach unsere Geschwindigkeit als Geschwindigkeitsargument verwenden . Und alles, was wir tun werden, ist jetzt wieder bereit Wenn Sie die Geschwindigkeit zwischen zwei Zahlen zufällig festlegen möchten, können Sie das sicherlich auch tun. Stellen Sie einfach sicher, dass Sie das unter der zufälligen Farbe tun . Und du kannst dasselbe tun, genau wie wir es mit der Zeit gemacht haben. Sie benutzen Rand. Nun, ich möchte eine Zahl präsentieren oder wenn Sie einen Rangbereich erstellen möchten , können Sie das sicherlich auch tun. Sie können die Geschwindigkeiten zufällig festlegen. Wenn Sie möchten, dass alle Ihre Schiffe unterschiedliche Geschwindigkeiten haben, können Sie das sicherlich. Ich füge es auch hinzu. Für mich werde ich hier einfach die normale Geschwindigkeit verwenden. Und ich setze meine auf 100. Also werde ich einfach sagen Geschwindigkeit Punkt y ist gleich Geschwindigkeit. Denken Sie jetzt daran , dass dies positiv wird. Also bewegt sich unser Schiff runter. Und wenn das die ganze Bewegung ist, die wir wollen, ist das alles, was wir brauchen. Ich mache weiter und schiebe die einfach hoch. Und geh. Ich sagte, wenn sie alle an verschiedenen Stellen gespawnt wurden und wir sehen können, dass sie gehen, bewegen sie sich auf uns zu und wir können uns anpassen. Wir können diese Geschwindigkeiten so anpassen, wie wir es sehen. Und man kann sehen, dass sie sich dort alle irgendwie in einer Reihe bewegen. Also werde ich Ihnen zeigen, wie das aussehen würde, wenn wir dies in eine zufällige Menge ändern würden. Also sag Geschwindigkeit ist gleich. Und lassen Sie uns weitermachen, nur um Ihnen nur eine kleine Änderung zu zeigen, wir werden die Rand-Reihe verwenden. Wir setzen das zwischen, sagen wir mal 9110. Das ist also eine kleine Lücke, das ist ein Unterschied von 20%. Wir werfen einen Blick darauf und können sehen, dass sie eng angefangen haben. Aber dann haben sie Unterschiede. Jetzt fällt dieser zurück, weil sich der mittlere tatsächlich schneller bewegt. Und natürlich können Sie diese Lücke so groß machen wie Sie möchten. Wenn du diesen Weg gehen willst, gehen wir. Die Mitte kreuzte gerade hinein und die ganz rechts, was einfach nur chillen und entspannen konnte. Und wenn wir das unterbrechen und in die Ferne gehen, kommen wir tatsächlich runter und sehen unser feindliches Schiff. Und wir sehen, dass ein Schiff 187 hat, das andere Schiff 95. Und unser dritter hat eins zu eins. Wenn Sie also eine zufällige Geschwindigkeit für Ihre Schiffe in diesem vertikalen Bereich haben möchten , können Sie so vorgehen und anpassen, dass diese eingestellt sind. Das liegt also ganz bei dir. Ich denke, im Moment lasse ich meinen einfach so und wir können mit der Anpassung unseres Spawners fortfahren. 23. Enemy: Okay, für den feindlichen Spawner werden wir hier dasselbe tun, indem wir einen Basisknoten als feindlichen Wurzelspawner verwenden. Speichern Sie das in unseren Szenen. Und wir werden eine Menge von dem machen was wir hier gemacht haben, mit unserem normalen Spawner. Fügen wir also einen Timer hinzu. Und wenn wir uns den Code ansehen, den wir hier verwenden, haben wir unseren Feind hier. Nun, wenn du mehrere unserer USV haben willst oder nicht, in diesem Fall, genau wie unsere Kräfte, haben wir mehrere Feinde. Sie können also eine zufällige, zufällige Vielfalt von Feinden haben , in denen sie spawnen. können Sie sicherlich tun. Und ich zeige dir , wie das so geht. Weil du weißt, wie man das mit einem einzigen Gegenstand wie diesem macht. Was wir jetzt tun werden, ist etwas Ähnliches. Also gehen wir in unseren feindlichen Spawner. Ich füge ein Skript lege es an die richtige Stelle. Was wir tun würden, ist, dass wir var enemy equals machen können und dann unsere eckigen Klammern. Aber dann werden wir für jeden von ihnen so vorgehen und unser feindliches Schiff holen. Wenn wir also ein Vielfaches davon hätten, würde das einfach so aussehen. Und Sie würden einfach mit den vielen Sorten weitermachen , die Sie dort hatten. In diesem Fall habe ich nur den einen. Und natürlich ist der Vorteil, wenn Sie auf diese Weise mehr kleinere Feinde hinzufügen. In Zukunft wird es in sich abgeschlossen sein , sodass Sie Ihren Code nicht bearbeiten müssen. Sie können sie einfach hier oben hinzufügen und weitermachen. In Ordnung, also wenn wir auf unsere Power-Ups zurückverweisen, dass wir unseren Spawner hatten, öffnen Sie diesen Code nicht. Haben wir. Es ist gleich da unten. Ich habe es nicht mal gesehen. Sie können also sehen, dass wir bei Timeout alles tun. Das bedeutet also, dass wir unseren Timer mit unserem feindlichen Spawner verbinden müssen . Und jetzt haben wir auch dieses Setup pünktlich, oder wir können randomize anrufen. Denn auch hier wollen wir, dass die Dinge zufällig sind, genau wie wir es mit unserer Macht tun. Und wir können hier sehen, dass wir eine Instanz unserer Szene erstellen. In diesem Fall rufen wir eine Instanz unserer Macht auf, aber wir wollen, dass rufen wir eine Instanz unserer Macht auf, aber wir wollen, es sich um eine Zufallszahl handelt. Dann brauchen wir eigentlich zuerst ein zufälliges Schiff. Also sagen wir, der ausgewählte Feind ist gleich Feinden. Und in unseren eckigen Klammern werden wir Randy sagen. Und wir werden Prozent der Punktgröße unserer Feinde für eine neue Variable verwenden . Da haben wir's. Also was das ist, egal wie viele Feinde wir hier oben hinzufügen oder entfernen, unser Code würde sich nie ändern. Wir werden immer einen Feind haben, der ausgewählt werden kann. Also kommen wir runter und dann können wir eine Instanz unseres Feindes erschaffen. Also sagen wir, Feind n ist gleich Ich habe das falsch verstanden. Nehmen wir an, gewählte feindliche Instanz. Was auch immer der Feind ausgewählt wird , wir werden eine neue Variable erstellen. Und dann müssen wir nur noch eins hinzufügen. Also schaue ich mir hier unseren Spawner an. Und Sie können sehen, dass wir es nur hinzugefügt haben, was für unseren Spawner völlig in Ordnung ist, da der Spawner selbst nicht bewegen wird. Also lasst uns weitermachen, Kindfeind hinzufügen. Und zu diesem Zeitpunkt ist es jetzt im Spiel. Aber was wir wollen, erinnere dich an eine, eine Variante auf dem x. Es ist also nicht alles nur in der oberen linken Ecke. Sagen wir Rand-Position x. Und wir setzen das als Zufallszahl. Wir können Rand Range benutzen. Das ist völlig in Ordnung. Haben wir das hier benutzt, um damit einen anderen Weg zu gehen? Wir benutzen nur Randy. Lassen Sie uns also weitermachen und dabei bleiben, nur um Konsistenzstandards zu gewährleisten. Aber wenn Sie diese Zwischenräume verwenden wollten, wieder 02 bis vier. Los geht's. Wir haben also unsere Zufallszahl innerhalb unserer 224. Ich kann, du kannst das optimieren , wenn du nicht willst, dass dein Schiff ein bisschen rumhängt. Also gehe ich zum Beispiel mit, ich sage 200. Dann bei 20, was meine Zahlen zu meinen Min- und Maximalwerten von 20 bis 20 macht. Wir fügen sie einfach in die Szene ein. Gehen wir also weiter in unsere Welt. Und in unserem feindlichen Spawner. Und das schiebe ich einfach da hoch. Und wenn wir das jetzt spielen, das nicht gehen, weil wir unseren Timer eigentlich nicht ausgelöst haben. Kehren wir also darauf zurück, stellen Sie den automatischen Start und versuchen Sie es erneut. Da haben wir's. Wir sehen also, dass sie dorthin gehen und sich tatsächlich begegnen. Und sie bleiben da oben. Du musst positionieren, aber wir haben sie nicht festgelegt. Nimm einfach unsere feindliche Position Punkt x. Das Gute ist also, dass wir wissen , dass unser Skript funktioniert. schlechte Nachricht ist, dass es mit sich selbst kollidiert. Also, wenn die neue Position Punkt x unserer Rand-, Rand-Position entspricht , kann ich hier ran position buchstabieren. Und das wird das regeln. Oder Schlucke werden sich immer noch begegnen. Wenn sie die Chance dazu bekommen. Da haben wir's. Wir sehen es dort auf der rechten Seite. Ich habe drei von ihnen alle gestapelt. Also laichen wir oft, wir haben die Position und sie schießen, sehen toll aus, abgesehen von der Tatsache, dass sie aufeinander prallen. An dieser Stelle werde ich Ihnen die Mac- und Layer-Funktion vorstellen . Wenn wir also in unser feindliches Schiff gehen, gehen wir los. Und unser kinematischer Körper 2D, sicherer Rand. Und dann gehen wir hier unter Kollisionsobjekt td. Hier in unserem Inspektor haben wir die Koalition, und hier haben wir Ebenen und Masken. Die Ebene ist also, wenn Sie etwas wie Photoshop betrachten, wissen Sie, was Ebenen sind, funktioniert auf ähnliche Weise. Wo Sie eine Spielerebene haben können, ist die obere Ebene, die feindliche Ebene, die Ebene projizieren. Und wie viele auch immer weitermachen und sich davon trennen wollen. Sie können sehen, wenn ich das öffne, haben Sie 32 verschiedene Ebenen, mit denen Sie arbeiten können. Und sowohl in deiner Ebene als auch in deinen Masken. der Ebene befindet sich Ihr Objekt und mit der Maske kann es interagieren. Wenn du es also nicht tust, dein Schiff in der Lage zu sein, gegeneinander zu krachen oder gegen den Spieler zu krachen, könnten wir die Maske ausschalten. Das Problem, das wir hier haben, ist, dass sich unser Projektil auch auf Schicht eins befindet . Da wir also die Maske einmalig ausgeschaltet haben, können wir den Feind überhaupt nicht erschießen. Was ich stattdessen tun werde, ist, unseren Feind auf Schicht zwei zu verlegen. Nichts ist, hat zur aktuellen Zeit eine Maske der zweiten Ebene. Wenn wir das jetzt spielen, können Sie sehen, dass sich unsere Feinde nicht begegnen. Sie ignorieren sich völlig. Aber sie treffen den Spieler, weil du dich daran erinnerst, dass unser Spieler auf Maske eins ist, oder sind du dich daran erinnerst, dass unser Spieler auf Maske eins ist, unsere Spieler auf Ebene eins? Nachdem die Maske erkannt wurde, stoßen wir darauf. Nun, je nachdem, ob der Feind in der Lage sein soll, auf den Spieler zu treffen oder nicht, und den Spieler in den Spieler zu treffen oder nicht die Luft jagen, indem er dem Spieler Schaden zufügt. Dies kann für Sie ideal sein oder auch nicht. Denke daran, wenn wir einem Spieler Schaden zufügen, können wir die Kollision des Spielers einfach vorübergehend deaktivieren Kollision des Spielers einfach vorübergehend um das zu verhindern. Was wir dann tun können, ist zu gehen wir können unseren Spieler auf einem lassen. Wir haben unseren Feind vor uns. Und wenn wir drei für unser Projektil verwenden. Und wir schauen uns die drei für das Projektil an. Und das Projektil kann sowohl mit dem Spieler als auch mit dem Feind interagieren . Also haben wir Maske 12 beide gesetzt und das versuchen wir. Wir sehen Knochen und jetzt geht der Feind direkt über uns hinweg. Und sie können nicht mehr mit uns interagieren. Also los geht's. Das ist wow. Wie wir das erreichen können, sind Verschiebungen, die sich nicht mehr begegnen. Sie bleiben nicht an unserem Spieler und unserem Projektil hängen. Da interagiert es mit beiden Schichten. Mit unserer ausgewählten Maske 12. Wir sollten in der Lage sein, unserem Feind Schaden zuzufügen , und unsere Amy sollte in der Lage sein, uns noch Schaden zuzufügen, wenn wir das hinzufügen. Das ist also auch eine kleine Einführung in Ebenen und Masken dort. Denken Sie also daran, Ebene ist der Ort, an dem Ihre Ziele und die Maske mit welchen Ebenen sie interagieren kann. Also wieder, wenn wir auf Maske eins und Ebene eins sind, wird Ebene eins mit ihr interagiert. Da haben wir Maske ausgewählt. Wenn wir uns auf Ebene zwei befinden und Maske eins ausgewählt ist, können wir mit allem interagieren, was sich auf Ebene eins befindet, Ebene eine Seite mit uns interagiert. Hoffentlich ist das nicht so, das wurde dir nicht zu verwirrend. Aber wisse einfach, dass alles funktioniert. Wenn Sie Fragen zu Ebenenmasken haben, können Sie diese jederzeit stellen. Und ich werde versuchen zu klären , worüber Sie mit ihnen verwirrt sind. Und wir können zum nächsten Video übergehen. Zu diesem Zeitpunkt haben wir eine spawnende Schießbewegung und es gibt keine Speicherlecks. Was ich also tun werde ist , diese drei Starterschiffe hier aus meiner Szene zu entfernen. Da haben wir's. Jetzt haben wir sie nicht mehr, wenn du anfängst und sie können darin spawnen. Wenn Sie nun einen Zufallstimer für Ihre Schiffe erstellen möchten, wissen Sie, wie Sie an dieser Stelle zufällige Timer ausführen oder Zufallszahlen erhalten. können Sie sicherlich tun. Die Wartezeit wurde ersetzt. In Ordnung, da hast du's. Wir haben alles vorbereitet, wir werden gehen. Wir haben Feinde, Power Up, Schießen. Abgesehen von Gesundheit und GameOver war zerstörend und all das. Haben wir. An diesem Punkt. Das Basic, die Grundlagen des Standard-Weltraum-Shooters. 24. Geschoss getroffen: Heute werden wir angehen, dass unser Projektil tatsächlich schießt und unseren Feind und unseren Spieler zerstört. Und je nachdem, wie viel Gesundheit der Spieler oder der Feind haben soll, fügst du entweder Schaden oder tötest sie direkt. Das Erste, was wir tun sollten , ist, dass Sie sicherstellen, dass Sie sicherstellen, dass Ihr feindliches Schiff keine verursacht, kein Speicherleck verursacht. Indem Sie Ihre Position überprüfen, wie wir es bei den Projektilen tun, die wir kürzlich gemacht haben, eines der letzten Videos. Und damit, sobald Sie sich vergewissert haben, dass Sie das haben, gehen wir zu unserem Projektil über. Und Sie werden D einen Bereich hinzufügen , der eine Kollisionsform hat, und die Kollisionsform nur ein wenig vergrößern. Was Klickform war, damit Sie hier für mich sehen können dass es nur einen Klick größer ist. In Ordnung, also mach weiter und tu das. Und dann, damit das funktioniert, gehen wir zu unserem Schussbereich oder Bereich , um der Kollision gleich zu sein. reife Ebene ist auf Ebene drei eingestellt. Und wir werden unsere Maske 212 so einstellen , dass wir mit den Ebenen 12 interagieren können, denen der Spieler und das feindliche Schiff die Hauptrolle spielen. Wir können hier zum Notizenbereich gehen, damit wir uns die Signale ansehen und das vom Körper eingegebene Signal mit unserem Projektilskript verbinden können Körper eingegebene Signal mit unserem Projektilskript verbinden . Und das sollten wir hier sehen. Diese Funktion wurde automatisch für uns erstellt. Der einfachste Weg, dies zu tun und dies zum Laufen zu bringen und testen, ist für unseren Spieler zu testen, ist für unseren Spieler. Ich zeige Ihnen zwei Möglichkeiten, wie Sie dies überprüfen können. Einer mit Namen und einer mit Gruppen. Also werde ich für den Spieler Namen verwenden. Also werde ich sagen, ob Spieler und Körpername, Körper Punkt Q frei. Was das sagt, ist dieses Sprichwort, wenn der Physikkörper , der diesen Bereich betritt, sein Name Passspieler mit einem großen P und dann werden wir sagen, dass der Körper jetzt unser Gebiet betreten hat, sich DQ befreit. Kehren wir also zu unserer Spielerszene zurück und schauen uns unseren kinematischen Körper an. Es ist ein Spieler mit einem großen P. Das wird also funktionieren. Der Feind sollte in der Lage sein, uns effektiv zu töten, wird erschossen und der Modus verschwindet aus der Szene. Da haben wir's. Wenn wir schießen, bewegen wir uns. Nichts passiert, weil wir vollständig geheilt sind. Okay, jetzt zu unserem Feind, jetzt werde ich dir zeigen, wie man das mit Gruppen macht. Wenn du also mehrere verschiedene feindliche Schiffe erstellen willst, kannst du sie einfach alle unter den Gruppenfeind stecken, und das wird einfach funktionieren. Sie müssen dem Projekt keinen Code hinzufügen. Gehen wir also zu unserem feindlichen Schiff mit unserem kinematischen Körper 2D hier. Denken Sie daran, dass wir vom Körper aus arbeiten, der eingegeben wurde. Gehen wir rüber zum Gruppenbereich. Rechts. Wir gehen in unser Textfeld und sagen Feind und klicken auf die Schaltfläche Hinzufügen. Wenn wir also unsere Gruppen jetzt verwalten, sehen wir, dass wir die feindliche Gruppe haben , die aus unserem feindlichen Schiff besteht. Wie Sie ihre Notizen in der Gruppe feindliches Schiff sehen. Und Sie können dort ganz einfach hinzufügen oder entfernen. Aber jetzt, wo wir das drin haben, können wir diese Arbeit mit all unseren Feinden haben, solange wir sie nur zur Gruppe hinzufügen. Also müssten wir nur tun, wenn der Körper in einer Gruppe ist. Und das wird ein Argument in Form einer Zeichenfolge benötigen ein Argument in Form , wenn ich mich mit dem Gruppennamen nicht irre. In diesem Fall wäre es also eine Reihe von feindlichem Kapital Y. Lassen Sie uns das versuchen. Leite unsere Welt. Und wir sollten jetzt in der Lage sein, unseren Feind zu töten. Und das können wir nicht. Oh, egal. Wir haben ihm gesagt, er soll hier vorbeikommen. Natürlich wollten wir es kostenlos machen, genau wie wir es mit unserem Spieler tun. Also wenn unsere Körper und die feindliche Gruppe, sagen wir ihr einfach, dass sie sich frei halten sollen. dort natürlich die falsche Szene ausgewählt. Und du kannst sehen, ob wir jetzt schießen, Aereo, unser Feind und er wird getötet. Wie Sie sehen können, durchläuft unser Objekt direkt alles, was wir aufnehmen. Wenn Sie also nicht möchten , dass das passiert, möchten Sie, dass Ihre Aufnahmen minimal sind. Hier. Was wir tun werden, ist außerhalb dieser Bedingungen. Jetzt könntest du das unten machen, oder du kannst es oben machen, egal. Wir werden einfach selbst Punkt Q free sagen. Auf diese Weise unser Projektildiskurs selbst. Da haben wir's. Wir haben ein Shooting in unserem Spiel und wir können unsere Anatomie und unseren Spieler zerstören. In Ordnung, im nächsten Video machen wir weiter und richten Gesundheitsgespräche ein. Da ist Strom. Richte Lebenspunkte und unseren Schadensmultiplikator ein. Stellen Sie sicher, dass unser Schild uns schützt. Da haben wir's. Okay, wir sehen uns im nächsten Video. 25. Gesundheit und Schild Schäden: In diesem Video werden wir den Spieler und unseren Feind angehen , wobei ihnen Gesundheit und Schaden zugefügt werden. Also lass uns weitermachen und reingehen. Lass uns unser feindliches Schiff stapeln. Sei ein bisschen einfacher, aber ein bisschen Abstand da drin. Und wir werden eine neue Funktion namens Damage erstellen. Wir wollen es „Hit“ nennen. Ich gebe meinen Schadensparameter weiter. Und wir drücken vorerst einfach auf „Pass“. Wir werden zu den ersten beiden Variablen gehen. Und ich werde eine Variable für unser, für dieses spezielle feindliche Schiff erstellen . Ich nenne es Gesundheit. Und ich setze das auf drei. Das Schiff hat also drei Lebenspunkte, es ist nicht sehr stark. Und was wir tun werden, ist Gesundheit innerhalb unserer Funktion zu sagen , Gesundheit minus gleich Schaden. Dann sagen wir, wenn die Gesundheit kleiner oder gleich 0 ist, dann selbst Punkt Q frei. Nun der Grund, warum wir weniger als oder gleich 0 sagen werden, denn wenn es gleich 0 ist, dann sollte unser Feind tot sein und er sollte lesen. Also. Aber wenn es irgendwie zu einer Panne kommt, einer Panne kommt es zu einer Panne , und unser Feind hat am Ende negative Gesundheit. Dies dient als Barriere-Check, um sicherzustellen, dass der Feind zerstört wird, wie er sollte, auch wenn es irgendwie Pannen unter 0 gibt. Bei unserem Projektil, wo wir unsere feindliche Gruppe haben, werden wir nur Körperpunkt-Treffer nennen. Und denken Sie daran, dass dies eine Parameter-Essenz dieser Feind drei Lebenspunkte hat. Wir sagen diese Projektanalyse, wir können sie sehr schnell drehen. Wir werden sagen, dass das ausgecheckt dem Feind nur einen Schaden zufügt. Wenn wir das jetzt rennen würden, sollten wir sehen, dass der Feind Schüsse abgibt, um ihn zu töten. Los geht's, 123. Und wenn unser Spieler erschossen wird, werden unsere Spieler trotzdem sofort zerstört. Unser Schiff hat jetzt Gesundheit und unser Spieler muss Gesundheit haben, aber auch andere Parameter wie natürlich unsere Schilde berücksichtigen . Gehen wir also zu unserem Layer-Skript über. Geben wir unserem Spieler etwas Gesundheit, falls Sie dies noch nicht getan haben. Mein Spieler hat drei Lebenspunkte. Wir kommen runter zu Wo soll ich das hinstellen? Ich lege das direkt unter mein Shooting bevor wir in unsere Power-Ups kommen. Ich werde eine neue Funktion namens hit erstellen. Dies erfordert einen Parameter des Schadens. Und wir werden hier das Gleiche tun, Gesundheit minus ist gleich Schaden. Und wir würden sagen, wenn ich kleiner oder gleich 0 bin, self.view grau, genau wie wir es mit unserer Anatomie getan haben. Jetzt das Problem hier, also müssen wir uns unseren Schild ansehen, oder? Wir müssen also schauen, ob unser Schild aktiv ist. Also werfen wir einen Blick darauf, wir haben eine Variable, die wir erstellt haben, die als shielded bezeichnet wird. Und wenn shield aktiv ist, können wir weitermachen und shield equals true hinzufügen . wir sicher, dass wir das für unsere Funktion haben. Und jetzt, wenn wir getroffen werden, bevor wir eine dieser Berechnungen durchführen, können wir sagen, ob die alten es getan haben. Und wir wollen sichergehen, dass es heißt, wenn nicht, sie hatte ein C, Sie können das Ausrufezeichen vor dem Wort abgeschirmt machen , oder Sie können das Wort nicht eingeben. So oder so. Es war draußen und machte das Gleiche. Und ich werde nur diese drei Zeilen hervorheben und die Tabulatortaste drücken. Wenn wir also nicht abgeschirmt sind, verlieren wir Gesundheit. Und wenn unsere Gesundheit unter 0 liegt, löschen wir uns selbst. Jetzt können wir hier also eine Else-Aussage haben. Wenn wir also abgeschirmt sind, können wir unseren Schild löschen , der auf „false“ gesetzt ist. Wenn wir jetzt einen Blick darauf werfen, ist Schild gegen Israel unser Kind unseres Spielers, wir werden eines davon haben. Wenn wir also unsere Schild-Szene öffnen, können wir sehen, dass wir das gerade Great Shields genannt haben. Also sollten wir in der Lage sein, innerhalb unserer Spieler zu tun, die hier zu sehen sind. Wir sollten in der Lage sein, nur die Knotenschilde zu bekommen, stellen Sie sicher, dass Sie sie richtig buchstabieren, sonst einen Fehler, sobald wir das Spiel starten und zu diesem Teil gelangen. Also sagen Schilde Punkt Kubrick. Das sollte jetzt unseren Schild löschen und unseren Schild auf false setzen. Und wenn wir keinen Schild haben, sollten wir uns schaden lassen . Dafür drucke ich auch unsere Gesundheit aus, damit wir das visuell in unserer Konsole sehen können . Lassen Sie uns das ausführen und sehen, wie das funktioniert. Ohne Schilde. Wir werden angeschossen. Wir haben es bei unserem Projektil nicht angerufen. Willst du es Body Dot nennen, Schlag. Und wieder füge ich unserem Spieler auch nur einen Schaden zu. Es wird es zwischen den beiden gleichmäßig halten. Wir sehen hier drüben auf der Seite weiter zu Gesundheit One Health und 0, womit wir natürlich gestorben sind. Wenn wir jetzt lange genug leben können, um uns einen Schild zu besorgen , können wir das testen. Es wird ein bisschen wie ein zufälliger Test sein. Wer weiß? Wann kriegen wir einen Strom? Wenn wir auch einen kriegen. Lass uns weitermachen und oh, da ist ein Schild. Fantastisch. Also haben wir einen. Wenn wir getroffen werden, sollte unsere Gesundheit nicht sinken und unser Schild sollte verschwinden. Unser Schild ist verschwunden. Und natürlich haben wir unsere Gesundheit nicht gedruckt weil wir nie Schaden genommen haben. Jetzt nehmen wir Schaden an einem. Und dann nehmen unsere Schilde und unsere Gesundheit alle ab, wie wir es erwarten. Nun, wenn Sie eine Explosions - oder Todesanimation haben , die Sie für Ihren Spieler oder Ihren Feind hinzufügen . Du spielst einfach die Animation ab. Und wenn das dann fertig ist, setze ich es auf. 26. Gesundheitliche Gewinn: In Ordnung, lassen Sie uns weitermachen und unsere Gesundheit angehen. Also habe ich auch irgendwas hier drin? Also lass uns einen Blick darauf werfen. Was tun? Schauen Sie sich unser Power Apps Script an. Und wir können unser Power-Up erstellen. Buddy trat ein. Okay, also los geht's. Wenn wir gesünder werden , wollen wir uns das hier ansehen. Wenn also ein 2D-Körper in einen Bereich eindringt und das Einschalten, nach dem wir suchen, ist unsere Gesundheit. Und dann werden wir mit hier arbeiten. Wir werden weitermachen und unsere Funktion dafür schaffen. Wir werden sagen, nun, Gesundheit wird sagen Gesundheit wird höher sein und Gesundheit wiederholen plus gleicher Menge. Und das ist so einfach wie wir müssen , um unsere Gesundheit zum Laufen zu bringen. Wenn du ein Maximum an Gesundheit haben willst, dann kannst du sagen, alles was wir tun müssen, ist dann hier nach oben zu gehen und wir sagen var max health. Ich werde das auf vielleicht fünf setzen, das ist die maximale Gesundheit, die wir niemals bekommen können. Kommt rein und wir gehen, wenn die Gesundheit weniger als r max Regal ist. Und dann haben wir einfach diese Zeile in. Und los geht's. Das ist alles, was wir tun müssten, wenn wir sicherstellen wollen, dass wir eine maximale Gesundheit haben , die der Spieler nicht über- oder unterschreitet. Das ist alles was wir dafür tun müssen. Aber jetzt können wir sehen, dass unsere Gesundheit funktionieren wird. Und wenn ich gesünder ausdrucke, gehe ich einfach in unsere Welt. Und lass uns weitermachen und es spielen und sehen, was passiert, wenn wir eine Gesundheit bekommen. Ich erinnere mich, ich habe es nicht genannt. Gehen wir also auf die Gesundheit unserer Power-Ups ein. Und wir werden eigentlich Body Dot Health genannt . Und gib den Betrag weiter, wir erhöhen wollten, was mein ist. Stell sicher, dass ich das richtig gemacht habe. Jep. In Ordnung. Jetzt können wir in unsere Welt gehen und unsere Gesundheitseigenschaften testen. Wir haben standardmäßig drei Wenn Sie sich erinnern, haben wir eine Gesundheit aufgenommen und Sie können in der Konsole links sehen, oder die Gesundheit ist jetzt vier. Als wir um drei anfingen. Und mit unserer Überprüfung der Mac-Gesundheit sollten wir aus keinem Grund darüber hinausgehen. Was auch immer unser Süden vorhat. In Ordnung, also los geht's. Unser Gesundheits-Power-up funktioniert jetzt so, wie es sollte. Unsere Schilde funktionieren nicht nur, sondern werden auch berücksichtigt, wenn er erschossen wird. Und wenn wir angeschossen werden, haben wir Schaden genommen. Wir haben angemessen mit unseren Feinden und unserem Spieler umgegangen. Das deckt alle unsere Power-Ups ab, das deckt unsere Kraft, unsere Schüsse ab und verursacht Schaden. Wenn Sie verschiedene Schüsse erstellen, könnten Sie natürlich den gleichen Skripttyp für das Projektil verwenden , nur unterschiedliche Werte haben, die hier für Ihren Schaden eingegeben werden. In Ordnung, wir haben das alles zum Laufen und zum größten Teil haben wir genau das, was wir brauchen um diesen abgeschlossenen Weltraum-Shooter zu nennen. 27. Hör auf, dich gegenseitig zu schießen.: Ordnung, in diesem Video werden wir weitermachen und sicherstellen, dass sich unsere Feinde nicht gegenseitig in den Rücken schießen können. Und wie wir das machen werden, geht auf unser feindliches Schiff. Wir werden einen Ray Cast zu D hinzufügen und aus irgendeinem Grund ist er standardmäßig deaktiviert. Wir wollen also zum Abschnitt Aktiviert im Inspektor gehen und diesen einschalten. Arrow gibt an, wie weit unsere Besetzung gehen wird, wie weit wir überprüfen. Was wir also tun werden, ist , den Cache zu setzen , sagen wir mal, auf 100. Das macht es extra, mach den größten Teil deines Bildschirms. Wenn du ein bisschen verrückt werden willst, kannst du etwa 400 machen, um sicherzustellen dass du den gesamten Bildschirm abdeckst. Das liegt ganz bei dir. Oder Kollisionsmaske, wir wollen mit Ebene zwei interagieren. Also schalte ich einen aus weil wir nur überprüfen wollen, ob wir unseren Feind treffen, oder in diesem Fall unsere Feinde verbündet sind. Also in unserem Drehbuch, wenn wir drehen, lass uns sehen. Wo drehen wir es hier, wir sollten hier schreiben, wenn unser Timer L mal macht. Also werden wir einen kleinen Scheck machen. Ich werde sagen, wenn wir unseren 2D-Strahl werfen, damit F-Strahl untersuchen kann, dass der Punkt kollidiert. Und das ist alles, was wir überprüfen müssen. CD kollidiert oder nicht. Also werden wir sagen, ändere das, wenn nicht, kollidiert TD neu besetzt. Wir werden das tun, was im Wesentlichen Oliven zum Schießen bedeutet. Und beachte, dass ich den Start des Timers draußen gelassen habe denn ob er kollidiert oder nicht, wir wollen den Timer neu starten. Wenn wir das jetzt ausführen würden, und nur zu reinen Testzwecken und um es Ihnen zu zeigen, werde ich meine Geschwindigkeit bei meinem Feind erneut auf 0 setzen . Ich werde mich umdrehen, hier in unsere Welt gehen. Und ich werde mich den Feinden stellen. Ich werde hier einen direkt vor unseren Spielern platzieren. Oder besser gesagt, lasst es uns hier zur Seite stellen. Und holen wir uns ein anderes feindliches Schiff. Und wir lassen es so hinter sich. Also jetzt, wenn unser Code dort funktioniert, yep, hinten sollte das nicht, weil er weiß, dass er einen befreundeten Verbündeten dafür erschießen würde . Während der vorne hier in der Lage sein sollte, einfach wie gewohnt weiterzuschießen. Und los geht's. Wir können vorne sehen und all diese, die spawnen und schießen. Aber der, der hier oben links ist , ist unser oberer Linker? Nein, da der Feind vorne war und nicht geschossen hat. Wenn wir einen Blick darauf werfen, schießt nur das erste weil die anderen mindestens ein anderes Schiff treffen , das sich davor befindet. Eine App Wir sagen, schnappen Sie sich dieses Schiff und fahren Sie es rüber. Sie können jetzt sehen, dass es eine Schießerei geben würde , weil nichts davor ist. Und der ganz oben schießt nicht. Denn wenn Sie direkt in diesen Bereich schauen, können Sie sehen, dass er kaum auf die Kollisionskiste trifft , die wir von unserem Schiff haben. Wenn wir das also einfach nehmen würden und etwas mehr als ein bisschen, kannst du hier unten sehen, dass es weitergeht und er anfängt zu schießen. Jetzt trifft er dort unseren Feind. Und das ist für den Körper. In Ordnung, also sind wir nicht gegangen. Wir können sehen, dass sie nur schießen, wenn wir Feinde direkt vor sich haben. Sie können also sehen, was das ist, wir haben hier eine ziemlich gute Verbindung damit, zu wissen, ob ein Feind vor uns liegt oder nicht. Mit dieser Logik sollte es uns also gut gehen. Jetzt füge ich meine Spawner wieder zur Welt hinzu. Feindlicher Spawner. Wenn wir weitermachen und es uns jetzt ansehen. Oh, das stimmt. Ich habe sie auf 0 gesetzt. Teste das. Setze das wieder auf Geschwindigkeit. Da haben wir's. Wir können also sehen, dass sie nicht schießen, wenn sie ein anderes Schiff direkt vor sich haben. Und wir gehen. Jetzt sind sich unsere Schiffe etwas selbstbewusster. 28. Spawn Animationen: Jetzt müssen Sie nur noch tun, wenn Sie komplexere Muster wünschen, anstatt direkt nach unten zu gehen. Du kannst einfach so etwas wie einen Zufall verwenden, so etwas wie unseren Zufall, den wir verwenden. Ziehen wir das zurück. Zum Beispiel, genau wie wir es hier tun, wenn Randy wir es tun, können wir so etwas machen. Und dann können Sie basierend auf der Anzahl, die Sie erhalten, eine bestimmte Animation abspielen , mit der Sie britische Schiffe erstellen. Wenn Sie also einzigartig sein möchten, möchten Sie vielleicht ein paar Schleifen versenden . Sie können weitermachen und Sie können es so einstellen. Offensichtlich müssten Sie die y-Geschwindigkeit auf 0 setzen. Wenn du das willst. Andernfalls bewegen Sie sich weiter vertikal, obwohl Sie Ihre Animation abspielen. So können Sie die Animation des Spielers nutzen , um Ihre Schiffe dazu zu bringen , alle möglichen Dinge zu tun. Und Sie können Randy nutzen zu erstellen oder verschiedene Szenarien zu spielen. Und der Ort, an dem du das tun würdest, wäre genau hier innerhalb des Spawns deiner Feinde. Also basierend auf was auch immer du bekommst. Also sagen wir, sagen wir zum Beispiel, wenn ich sage, var ist gleich randy, Ordnung, sagen wir mal Randy Five, so. Und dann sagen wir wie F und M gleich, gleich 0. Was war der Standard hier? Und hier, und m ist gleich eins. Und natürlich kannst du Match wie zuvor mit dem Spieler verwenden . Wenn es um Power-Ups geht. Genau hier können Sie hier eine Übereinstimmung sehen. Sie möchten keine if-Anweisungen verwenden. Natürlich können wir weitermachen und einen Blick darauf werfen. Wenn Anime-Messer animieren. Wenn Adam einer ist. Spielen Sie diese Animation ab und setzen Sie Geschwindigkeit wissen Pi auf 0. Und das ist alles was Sie tun müssten. Jetzt wird unsere Form kontinuierlich schießen. Das ist Logik für sich allein. Aber so kann man das machen, oder? Und dann können wir natürlich noch überprüfen, ob wir alle und M2 sind. Und wir können diese Animation abspielen und die Geschwindigkeit auf 0 setzen, wer rollt drei Prozent das. Also bis dahin, es liegt wirklich an dir. Und die Animation ist , die Sie erstellen möchten, damit die Schiffe sie verwenden oder haben können, wenn sie spawnen. Und wenn Sie noch weiter gehen möchten, sagen Sie , Animation eins kommt von links. Ich bin Sam von links. Du kannst es tun. Du kannst reinkommen und du kannst, du kannst überprüfen, ob Position x kleiner ist als, vielleicht muss deine Animation weniger als 300 sein. Damit du das überprüfen kannst, oder? Verwenden Sie also einfach diesen einfachen Text und erstellen Sie verschiedene Arten von Animationen mit einem solchen Bond-Flow. Ich sollte auch hier hinzufügen. Nur für den Fall, dass einige Leute nicht merken, dass sie als Kind Feind hinzufügen . Kind. Ich füge das nur hinzu, um dort ein bisschen Nachdruck zu verleihen. Aber das ist im Grunde alles, was Sie tun müssen, ist einfach diesem Pfad zu folgen, und Sie können in den Animation-Player gehen und all die verschiedenen Animationen erstellen, all die verschiedenen Animationen. Sie möchten Ihr Schiff bis zum Weg geht und geht. In Ordnung, das, das kümmert sich darum. Wir haben, Sie haben eine Idee, wie Sie ein einzigartiges Haben schaffen können. Wenn du eine spezielle Animation oder dein Schiff haben willst , wenn es spawnt. Und natürlich ist es eine zufällige Chance, ob es das tut oder ob es einfach nur herunterkommt. Wenn du willst. Wir haben unsere Feinde angesprochen und nicht gegenseitig in den Rücken geschossen. Richtig? An dieser Stelle werde ich keines davon verwenden, aber Sie können es auf jeden Fall, wenn Sie möchten. Ich glaube nicht, dass ich das tun werde, ich bin damit einverstanden, dass es einfach wie einige der Klassiker direkt herunterkommt . Aber wir haben hier nicht wirklich viel zu tun, abgesehen davon , wie unsere GUI aussehen wird , und sie zu aktualisieren. 29. UI Kreation: Alles klar, in diesem Video werden wir weitermachen und den Teil der Benutzeroberfläche unseres Spiels erstellen . Wenn ich hier also nur hineinzoome, können Sie sehen, dass unsere Gesundheit auf unserer linken Seite in Form von Herzen angezeigt wird. Und wir haben sowohl eine leere als auch eine Füllung. Genau wie bei unseren anderen Power-Ups hier, aber wir werden unsere Power-Ups auf der rechten Seite angezeigt haben . Wenn sie leer sind, sind sie ausgegraut. Wenn sie sichtbar sind. Es wird alles beleuchtet sein, wie Sie es hier sehen. Jetzt. Wir könnten sie einfach einzeln so drin lassen. Und dann schalten Sie einfach um , welche durch die Sichtbarkeit angezeigt werden . Aber es gibt einen viel einfacheren Weg für uns, dies zu tun. Also werde ich alle löschen. Und der einfachste Weg, so etwas zu erreichen. Verwenden Sie zunächst eine Leinwandebene. Jetzt wird die Leinwandebene, alles, was darauf gelegt wird, über oder vor allem anderen auf dem Bildschirm gezeichnet . Also erstelle ich eine neue Szene, gehe zu meinem anderen Knoten. Meine Leinwandebene hilft, wenn wir sie richtig buchstabieren. Da haben wir's. Ich benenne das in meine Pflicht um. Das wird es sein und sparen Sie es. Szenen. sparen. Da haben wir's. Jetzt haben wir unsere Szene sicher. Und gooey, wenn Sie es nicht wissen, steht es nur für grafische Benutzeroberfläche. Was ich dafür verwenden werde, ist, dass ich tatsächlich einen Fortschrittsbalken verwenden werde . Aber wir wollen keinen normalen Fortschritt machen. Wir wollen unsere Texturen haben und wir werden einen Texturfortschritt verwenden. Das wird uns im Grunde erlauben, eine Bar zu füllen und zu leeren. Und jetzt könnte er sich das als einen typischen rechteckigen Gesundheitsbalken oder einen Ladebalken vorstellen . Wir werden dies jedoch mit unseren Sprites tun. Und wir werden weitermachen, wir beginnen mit der Health Bar, wie wir diese genannt haben. Und lass uns weitermachen und einen Blick darauf werfen. Wir füllen es von links nach rechts. Sie können sehen, dass wir hier all diese verschiedenen Optionen haben, je nachdem, wie Sie es möchten. Torgürtel deiner Bartok. Wir haben von links nach rechts, von rechts nach links. Wir haben von oben nach unten. Was interessant sein kann oder unten nach oben bezahlen wie Sie das tun möchten. Wir haben einen Balken im Uhrzeigersinn, also irre ich mich nicht. Atem der Wildnis. Das neue Zelda-Spiel , das auf dem Schalter steht, hat einen Ausdauerbalken im Uhrzeigersinn verwendet, wenn ich mich richtig erinnere. Aber was wir dafür verwenden werden, ist von links nach rechts. Wenn wir jetzt Texturen für Sie öffnen, haben wir ein Unter und Über und einen Fortschritt. Jetzt vermische ich diese Threads genau was, was was ist. Aber ich werde weitermachen und meine Gesundheit fördern. Empty Ich glaube, geht zum Unteren voll, entweder geht es weiter oder es geht weiter. Ich glaube, ich glaube, vorbei wäre wie die Dekoration mit einem Rand um deine Bar. Darunter befindet sich die Unterseite jeder Bar. Wenn Sie also einen Gesundheitsbalken haben, ist dies möglicherweise ein dunkleres Rot oder er ist einfach leer und hat nichts. Und dann werden wir Fortschritte zeigen, wenn wir Fortschritte machen. Also, wenn ich meinen Gesundheitsbalken fülle, einen in Bearbeitung und den leeren und darunter, wenn ich hier auf meinen Wert herunterkomme und diesen auf 50 setze, was auf halbem Weg ist, weil das Min 0 ist, ist max hungrig. Also sagte ich, im Wert von 50 Aktien wird die Gesundheit auf halbem Weg gefüllt. Jetzt können Sie dies anzeigen, wie Sie möchten. Ich setze meinen Maximalwert auf fünf. Das heißt, wenn ich meinen Wert auf fünf setze , ist es bei voller Gesundheit. Wenn ich es auf eins setze, haben wir noch eine Gesundheit übrig. Und wenn Sie diesen weiteren Schritt machen möchten, können Sie sehen, dass unsere Schritte erhöht werden, indem Sie auf eins gesetzt werden. Zum Beispiel können wir 1,5 nicht machen, sondern runden das einfach auf zwei ab. Aber wenn du ein halbes Herz haben willst, ändere unseren Schritt 2.50, und jetzt können wir 1,5 machen , ohne uns abzurunden. sind also nur einige Optionen, die Sie sich vorstellen können was wir tun oder was Sie tun möchten. Nun, das ist im Grunde alles, was wir brauchen werden. Dafür werden diese Bars im Wesentlichen alle gleich funktionieren. Unsere Gesundheit und unsere Multi-Shot-Schilde und Geschwindigkeit. Nein, die haben nur ein Bild. Das bedeutet nur, dass wir einen Maximalwert von eins haben werden, als zu sagen, dass es 0 oder eins gibt. Es ist entweder ein oder aus, aktiviert oder deaktiviert. Bevor Sie gesünder sind, können Sie sehen, nehmen Sie sich ein wenig Freiheit. Wenn du willst, kannst du hier halbe Schäden anbringen oder du kannst dich an die Standardmarke halten , die ich hier verwende. Der Standard 12345. Und ich mache einfach weiter und erstelle hier unsere anderen Marken. Das Labor hat also zwei weitere Texturen. Fortschrittsbalken haben eine für unsere Multishot-Leiste. Wir haben unseren Geschwindigkeitsbalken. Und zuletzt ein Fortschrittsbalken. Das schließen wir nicht ab. Aber da ich das geöffnet habe, kann man sehen, dass ein Fortschrittsbalken normalerweise das ist, was man für so etwas wie einen Ladebildschirm sehen wird. Es ist nur ein einfacher Balken, der sich füllt. Und das ist wirklich alles, was man dazu braucht. Während die Textur , wie Sie gesehen haben, können wir unsere eigenen benutzerdefinierten Texturen darauf anwenden, damit sie einzigartiger aussieht. Also mach weiter und erhalte wieder einen Texturfortschritt. Und die Blätter wollen einfach nur unser Schild sein. In Ordnung, also wenn wir zu dem aus dem Weg gehen, wird unsere Multishot-Leiste davon verkleinert. Lass uns einen Blick darauf werfen. Wir legen unsere unter sie ist leer. Unser Fortschritt, der unser voller Erfolg ist, bringt unsere kleine Messlatte. Und so haben wir unser Minimum. Und das wird entweder 0 oder eins sein. Setz das auf eins. Um einen Blick auf maxed out zu werfen, können wir unsere Geschwindigkeit erhöhen, die ungefähr die gleiche Größe hätte. In Ordnung, jetzt können wir uns ansehen, wie weit unsere Positionen dazu sein sollen. Also wo will ich das hin? Mal sehen, nehmen wir Wrack und Position ein. Und könnte ein bisschen viel sein. Ich denke, fünf wären eine gute Zahl. Diese gehen entlang der y-Position nach unten, zerstörte Position y fünf. Und das Gleiche gilt für unsere Hilfe. Halten Sie alles auf einem gleichmäßigen Feld oder ein insgesamt schöneres Aussehen wird auch fünf vom x wegziehen. Schnappen Sie sich alle drei. Geh rüber. Und lass uns einen Blick darauf werfen. Das haben wir. Ich werde damit beginnen, uns oder den ganzen Weg bis zum Rand zu bringen . Und dann ziehe ich einfach fünf davon ab. Also sag 208 minus fünf. Dann sagen wir 125 minus fünf, das wären eins achtzig, eins dreiundsechzig minus fünf lässt uns mit 158. Okay, jetzt haben wir eine gleichmäßige Verteilung zwischen all diesen und wenn wir das ausführen, lass mich sehen, so wird unsere Benutzeroberfläche hier aussehen. Mit unserer Benutzeroberfläche jetzt erstellt. Wir können dann mit der Implementierung der Bill Ops fortfahren und nicht in unsere Skripte. 30. UI aktualisieren: In Ordnung, also lass uns weitermachen und anfangen unseren Code hinzuzufügen. Und ich denke, der einfachste Weg, dies zu tun, ist, wenn wir eine Gesamtfunktion erstellen , die mit dem Ändern unserer Balken umgehen kann . Das wird also eine Funktion sein , die wir immer wieder verwenden können. Also werde ich weitermachen und ein neues Skript zum Streiten erstellen . Platzieren Sie es an der richtigen Stelle. In unseren Skripten. Es wird keine Variablen geben. Sie sind bereit. konnten wir nicht gebrauchen. Ich werde es noch nicht los. Und innerhalb unserer Prozessfunktion leider nicht verarbeiten. Und werd das los. Wir werden hier unsere eigenen Funktionen haben. Ich komme zum Funktionsupdate, Update-Leiste. Und das nimmt zwei Argumente eines Balkens in Form einer Zeichenfolge auf. Und das wird einen Wert in Form eines Zolls annehmen . Wenn Sie nun halbe Werte erstellen, müssten Sie natürlich auch Lasten akzeptieren können , was bedeutet, wie Sie es so einstellen können. Warum eine ganze Zahl, du magst zum Beispiel natürlich 1. Da ich es mit ganzen Zahlen zu tun habe, gehe ich direkt mit rein. Und was wir tun werden, ist die Bar zu benutzen. Wenn wir das also nennen, werden wir eine Zeichenfolge wie Gesundheitsleiste, Multi-Shot-Leiste, C-Balke, Schildleiste übergeben . Also werden wir ihm sagen, welche Riegel wir gekauft haben. Danach können wir weitermachen und noch Knoten machen. Und wir können einfach an der Bar vorbeikommen, die wir da drin haben wollen. Wir setzen den Punktwert gleich dem Wert, den wir übergeben. Und das ist alles was wir dafür tun müssen. Kämpfe jetzt, füge unsere Vars hinzu oder setze sie auf was auch immer, was auch immer wir wollen, die aktuellen Werte von ihnen sein sollen. In unserer Bereitschaftsfunktion. Ich mache weiter und mache selbst Punkt, Hinzufügen, Hinzufügen, Hinzufügen zur Gruppe. Und ich werde weitermachen und das einfach zu einer Gruppe namens Gooey in Großbuchstaben hinzufügen . Was wir gerade hier im Code AC gemacht haben, entspricht dem, dass wir hier zu unseren Knotengruppen kommen und unseren Dewey hier zu einer klebrigen Gruppe hinzufügen und auf Hinzufügen klicken. Das ist genau das Gleiche. Es wird einfach passieren, wenn unser Spiel geladen ist. Das ist ein zweiter Weg, wie Sie das tun können. Es liegt wirklich an dir , was Rocks Gogo tun soll , das nicht wirklich weh tut oder egal auf welche Weise du vorgehst. Und ich werde das geschaffene speichern. Wir sollten jetzt in der Lage sein, mit deren Umsetzung zu beginnen. Also mache ich weiter und gehe zu, lass uns gehen zu, zu unserem Power-Up gehen, ich werde in einer Art-GUI-Szene hinzufügen oder in die Welt bringen. Jetzt, wo wir unseren Dewey in der Welt haben, können Sie sehen, ob wir ihn oben oder unten haben. Es ist nicht wichtig, es wird keine Rolle spielen. Denn auch hier handelt es sich um eine Leinwandebene, die immer über allem anderen gezeichnet wird. Nun könnte man das natürlich mit Ebenen ändern, wie man dort sehen kann, aber es gibt keinen echten, keinen echten Sinn. Vor allem in der Reife der Spiele hier. Und Ebenen sollten nur dann wirklich ins Spiel kommen, wenn Sie mehrere Canvas faul haben, werde ich alles super organisiert halten , wie es angezeigt wird. Okay, also lasst uns in unsere Skripte einsteigen. Fangen wir mit dem an, was ich gesagt habe? Power-Ups. Los geht's. Also springen wir ein, also werden wir den angeborenen Call starten und sie werden beschleunigen, Schild aktivieren und Multi-Shot auf unserem Spieler ermöglichen. Sagen wir mal. Okay, also das gibt uns Gesundheit wird was haben wir hier gesessen? Also können wir weitermachen und das auf fünf setzen. Jetzt setze ich das auf fünf aufeinanderfolgende Höchstmengen, die wir haben können. Wir werden hier unsere Gesundheit finden. Okay, was wir hier tun werden, ist, wir werden die Gruppe DUE nennen, was alles bedeutet, was in dieser Gruppe ist. Und Sie werden all diese Dinge anweisen, eine bestimmte Funktion auszuführen. Wenn es diese Funktion nicht hat, kann es natürlich zu einem Fehler oder einem Problem kommen. In unserem Fall haben wir nur einen Artikel drin, und das ist unsere GUI. Wir wissen also, dass die Funktion existieren wird. Also sagen wir anrufen, holen, tree dot col group. Also der erste Punkt hier ist welche Gruppe? Welches wird die GUI sein. Wir gruppieren uns. Das zweite Argument ist die Funktion, die Sie aufrufen möchten. Ich werde einfach weitermachen und das auswählen, um sicherzustellen, dass es richtig geschrieben ist. Diese werden alle als Strings hinzugefügt, also update bar. Und dann werden die nächsten Argumente sein , die du vorbringst . Also zuerst brauchen wir die Bar, die Gesundheit ist. Bar. Und der zweite ist der Wert, auf den wir ihn aktualisieren wollen. In unserem Fall werden wir also Gesundheit verwenden, weil Gesundheit auf was auch immer eingestellt wird , oder? Und das wird am Ende auf 123 oder fünf gesetzt sein . Also werden wir das nutzen, um unsere Gesundheit zu aktualisieren. Wenn wir jetzt getroffen werden, musst du auch unsere Gesundheit auf den neuesten Stand bringen. Die Gesundheit minus Schaden gehen und das nennen wir. Wenn wir das jetzt ausführen, sollte unsere Gesundheit aktualisiert werden. Und es ist auf eins eingestellt, nur weil wir Dinge mit Tetramer testen. Und weil das standardmäßig nicht auf „voll“ gesetzt ist, gehe ich in meine Gesundheitsleiste und aktualisiere diese. Wo sind meine Werte dort? Also setze ich das auf fünf. Ich habe nach meinem Standard gefragt und wir machen weiter und führen das aus, damit wir voll gesund sind. Und du siehst, wir wurden angeschossen, wir verlieren Gesundheit. Es wird aktualisiert. Und wenn wir ein Gesundheits-Power-up finden, sollte auch das zunehmen. Wenn wir so viel Glück haben können. Es gibt einen, wir haben ihn und Sie sehen, dass unsere Gesundheit auf den neuesten Stand gebracht wurde. Vier von fünf. Es gibt eine Mehrfachaufnahme , bei der noch keines dieser Dinge funktioniert. Wir argumentieren dafür, dass die Standardwerte auf 0 gesetzt werden sollten. Sind das Viren. Und los geht's. Okay, jetzt können wir den gleichen Code hier verwenden , um unseren anderen Wert zu erhalten. Ermöglicht also Geschwindigkeit. Zum Beispiel hier. Wir können hier reinkommen, wir können es ermöglichen. Ich rufe die GUI-Gruppe an. Wir rufen die Aktualisierungsleiste auf. Und dieses Mal rufen wir die Geschwindigkeitsleiste. Und wir werden nicht an Gesundheit weitergeben. Wir werden einen weitergeben. Dieses Mal. Wir werden tatsächlich unsere Nummer festlegen. Und wenn sich unsere Geschwindigkeit wieder normalisiert, passieren wir eine 0. In Ordnung, wir können das auch für unsere Schild-Aktivierung angehen. Obwohl Shield Activate es auf eins setzt. Und wir setzen es zurück auf 0, wenn wir getroffen werden. Also kommen wir zurück, um zuzuschlagen, wenn falsch wird, und wir behalten die hinteren Schilde. Wir aktualisieren unsere Bar. Beachten Sie, dass wir das tatsächlich aktualisieren müssen und wir gehen zur Schildleiste. Und dann bleibt unser Multi-Shot übrig. Komm rein. Wir sagten „wahr“. Multi-Shop sind auf eins eingestellt. Und nach unserem Timer, wenn wir Multishot ausschalten, setzen wir den Wert wieder auf 0. Jetzt sollten unsere Power-Ups alle laufen. Und wer muss warten, bis sie auftauchen, um sie zu testen? Ihre Geschwindigkeit. Bumm, es ist an. Wir haben unseren Schub. Ich sollte gleich hier abschalten. Da haben wir's. Zu unserer Geschwindigkeit funktioniert. Jetzt müssen wir sicherstellen, dass unser Multishot ist. Da haben wir's. Wir sind auf ein Problem gestoßen. Ich lege zurück statt Bar. Da haben wir's. Deshalb testen wir weiter , damit wir wissen, dass unsere Geschwindigkeit funktioniert. Wir müssen jetzt unseren Multishot testen, der funktionieren sollte. Wir hatten gerade einen Tippfehler da drin. Und dann können wir unsere Schilde testen. Und wenn beide funktionieren, funktionieren unsere Power Apps alle so , wie sie sollten. Sei. Fantastisch. Immer toll zu hören. Da steht: „Mach weiter und warte“. Da ist ein Schild, heb ihn auf oder der Schild leuchtet. Fantastisch. Wenn wir angeschossen werden, verschwindet sie mit ihrem Schild. Wunderschönen. Jetzt müssen wir nur noch sichergehen, dass unser Multishot funktioniert. In Ordnung. Wir gingen weiter und bekamen Multi-Shots, die funktionierten. Und sobald es fertig ist, sollte es das tun. Wir kehren zu einem leeren Symbol zurück. In Ordnung, also alle unsere Fähigkeiten und Power-Ups funktionieren einwandfrei, ebenso wie unser Gesundheitsupdate. Wir haben alles in einer einfachen Funktion zusammengefasst. Wir können von überall aus anrufen, ohne dass Verbindungssignale auftreten und die Dinge verwirrender werden, als dies für manche Menschen der Fall sein könnte. 31. Particle: Okay, in diesem Video werden wir weitermachen und ich werde dir zeigen, wie du mit Partikeln eine Explosion machen kannst . Jetzt können Sie Partikel für alle möglichen Dinge verwenden . In diesem Fall werden wir es benutzen, um eine kleine Explosion zu machen. Auf diese Weise zeige ich Ihnen, anstatt eine Explosion zu animieren , wie Sie eine erstellen können. Ich zeige Ihnen, wie Sie mit den eingebauten Partikeln eines erstellen können . Wenn wir jetzt Ihre Partikel erstellen, werden wir natürlich eine neue Szene erstellen. Wir machen einen Timer. Ich bin ein Kind davon. Nur damit es weiß, wann es sich selbst löschen muss, wer sich unser Speicherproblem leisten kann. Aber wenn es Partikel macht, tippe CSI das hier ein. Artikel. Wir haben CPU-Partikel und Partikel. Es gibt keinen großen Unterschied zwischen den beiden, außer dass CPU-Partikel von Ihrer CPU angetrieben werden, während Partikel TD von Ihrer GPU mit Strom versorgt werden. Abhängig von Ihrem Projekt möchten Sie vielleicht eine Seite über die andere stellen, ganz bei Ihnen, aber wir werden die GPU-Partikel hier verwenden. In Ordnung, also mit dem ausgewählt und in Explosion umbenannt, bin ich weitergegangen und habe mein Gesehenes bereits gespeichert. Wann mach weiter. Wir können das Leben um eins verlassen. Und wir werden weitermachen und das Material verarbeiten. Das gelbe Dreieck sagt uns, dass wir kein Material für uns haben, wir haben kein Material, von dem unsere Partikel hier ausgehen können. Also lasst uns weitermachen und ein neues Partikelmaterial erstellen. Nun würde Shader in den Code gehen, und das ist eine ganz andere Sprache und ein ganz anderes Biest für sich. Halte die Dinge einfach. Und weil wir hier wirklich keinen Shader-Code verwenden müssen, werden wir einfach ein neues Partikelmaterial erstellen. Und Sie können bereits sehen, dass unser Partikel bereits aktiv ist und direkt nach unten geht. Komm runter, wir können uns das ansehen. Wir wollen unsere Emissionsform. Einen Moment. Da haben wir's. Unsere Emissionsform ändert sich also stark. Sollen wir sagen, dass der Kugelknoten in einem Kreisbereich liegt? Wir haben eine Box, die eher ein Rechteck sein würde. Das sagt ihm also ziemlich genau, wie man sich selbst erschafft. Wir werden einen Ring benutzen. Und ein Beispiel hier: Wenn wir den Ringradius vergrößern, können Sie sehen, dass wir im Vergleich zu diesem grundlegenden Punkt unterschiedliche Ergebnisse erzielen. Wenn wir also sagen, eine Box, sagen wir zehn auf dem x verwenden würden. Warum? Sie können sehen, dass wir in zehn mal zehn Räumen, in denen diese Partikel spawnen, darauf eingehen. Je nachdem, was Sie vorhaben, möchten Sie vielleicht mit verschiedenen Formen experimentieren und etwas finden, das Ihnen gefällt. Ich nehme einen Ring für diese Explosion. Hand setzte das wieder auf eins zurück , ich glaube, es war ein Standard. Also weiter, wir können zu „Wir haben Richtung und wir haben Schwerkraft“ gehen . Dies sind die beiden Dinge, die beeinflussen werden , wie Ihre Partikel bewegen. Und für diese werde ich weitermachen und meine Schwerkraft festlegen. Es wird 0 auf dem y sein, und ich werde eine auf das x setzen , damit es sich nach rechts bewegt. Jetzt. Es geht überhaupt nicht sehr weit. Und es breitet sich überhaupt nicht aus, wie man es von einer Explosion erwarten würde. Aber was wir tun können, ist, dass wir uns auf die Anfangsgeschwindigkeit bewegen können . Und wir können das erhöhen, sagen wir 180. Los geht's und fliegen in die X-Richtung. Und Grund, warum wir es wegen unserer Verbreitung überall dort haben. Wir hatten also unsere Ausbreitung auf ein Grad reduziert. Es wird fast so aussehen würde es perfekt gerade laufen. Wenn wir 0 machen, wird es geradeaus gehen. Aber da wir keine Explosion haben, müssen wir das wirklich komplett umdrehen . Wir wollen 180 Grad, oder? Wir wollen hier den ganzen Weg um uns herum. Und ich denke, 180 auf der Geschwindigkeit könnten dafür etwas zu schnell sein. Also ändere ich es auf 50. Jetzt. Das ist, das sieht toll aus. Aber wie du siehst, werden wir wie Boop, Boop, Boop, Boop, Boop, Boop. Sie können all diese verschiedenen Richtungen sehen. Also, Warren-Explosion, wir wollen, dass das wie eine Explosion wird, oder? Wir wollen einfach nur einen großen Boom und es gibt alles. Nun, bevor ich da hochspringe, werde ich mein Geschwindigkeitszufälligkeitsjahr optimieren. Und das wird nur eine Abwechslung in diese Sache bringen. Wenn meine Geschwindigkeit also bei 50 liegt, meine Rötung etwa 0,45. Das bedeutet, dass meine Geschwindigkeit irgendwo zwischen 49,4 oder fünf liegen kann , sorry, mindestens 49,55 und 50,45. Und Sie können weitermachen und das ist viel einfacher, warum wir dort einen ganzen Unterschied haben. Aber nochmal, ich werde einfach mit 0,45 gehen. Es ist kein großer Unterschied, aber es sorgt für ein bisschen Abwechslung. Um also nicht die Explosivität zu erreichen, die wir wollen, wollen wir tatsächlich ganz nach oben scrollen, unter dem Zeitabschnitt. Wir haben Explosivität hier. Mach weiter und setze das einfach auf eins. Und bumm, los geht's. Wir haben unsere Explosion. Nun, das sind nicht viele Partikel , die wir im Gange haben. Es gibt nur acht von ihnen. Nun, wir können den Betrag hier optimieren. Und jedes System wird anders sein. Denken Sie daran, je mehr Partikel, desto mehr Ressourcen benötigt der Computer, um diese Partikel zu rendern. Wir können, sagen wir, auf 100 steigen. Bumm, da haben wir's. Wenn Sie nun eine niedrigere Zahl verwenden möchten, sieht 5050 natürlich auch pro Pixel-Spiel gut aus. Aber ich glaube, ich nehme persönlich 100. Und das wird hier offensichtlich jedermanns persönliche Entscheidung sein. das ansehen, können wir sehen, dass alles weiß ist. Das wird nicht wie ein Schnee-**** vor sich gehen. Wir wollen, wir wollen etwas Farbe da drin haben. Gehen wir weiter zum Farbbereich. Und wir machen einen Farbverlauf. Also eine neue Farbverlauf-Textur. Und wenn wir einfach darauf klicken, können wir einen neuen Farbverlauf erstellen. Mach das auf. Und los geht's. Was ich also tun werde, ist für meine erste Farbe hier, ich werde weitermachen und ein Gelb machen. Ich werde jetzt eine andere Farbe haben, etwas weniger als die Hälfte, um eine Orange zu erzeugen. Und in diesem Fall werde ich einfach ein dunkles Grau verwenden. Und das habe ich abgeklickt. Da haben wir's. Das habe ich also für einen Sprengstoff. Sie könnten hier kleine Takte anpassen und filmen, was sich auf die Änderung des Farbverlaufs auswirkt. Also schau mal, wenn ich Orange weiter nach rechts bewege, werden sie diese Übergangszeit von Gelb zu Orange viel länger haben . Wir werden gebeten, ein Diagramm darzustellen und es nach links zu verschieben. Es wird nur ein Vorfall sein. Sie können diese Schieberegler also auf etwas bewegen, mit dem Sie sich wohl fühlen und das Ihrer Meinung nach gut aussieht. Ich glaube, das mache ich genau dort. Und damit haben wir eine Explosion, die geschaffen und bereit ist. Jetzt wollten wir nur das eine Mal los. Versprich. Wenn wir einen Schuss treffen, werden unsere Partikel nicht emittieren, wenn sie in die Szene geladen werden. Ich weiß nicht, ob das ein Bug oder ein Problem ist oder was, aber wir können einen Schuss umschalten, nachdem er gespawnt wurde. Und wieder, dein Betrag hier wird bis zu hoch sein , aber ich werde dir zeigen, was wäre, wenn wir etwa tausend C hätten , sind Explosionen, warum? Warum war viel anders? Weil das Reagieren all dieser Punkte auf einmal erfolgt. Sie sehen, wir bekommen hier eine sehr klare Ringform. Also das könnte ein bisschen zu viel sein. In diesem Fall. Aus diesem Grund gehe ich für etwas wie Rauch in einem Pickup-Spiel existieren soll, , das in einem Pickup-Spiel existieren soll, gerne mit diesen kleineren Zahlen, wie 50 bis 100, vor. Okay, jetzt, wo wir das erstellt haben, stellen Sie sicher, dass Sie Ihre Szene speichern. Wir werden uns darauf einlassen uns hier unser kleines Drehbuch ansehen. Ich werde das für den Timer erstellen. Ich sende das Timeout-Signal, meine Explosion. Und ich setze das einfach auf self dot. Das Wichtigste, was ich hier einstellen möchte ist, dass ich sicherstellen möchte, dass die Wartezeit auf meinem Timer genauso groß ist wie die Lebensdauer zumindest unserer Lebensdauer auf unseren Partikeln hier entspricht . Weil wir nicht wollen , dass es früh abgeschnitten wird. Und dann können wir sicherstellen, dass wir unseren Timer auf einen Schuss einstellen und automatisch starten. Okay, als nächstes müssen wir nur noch einziehen und das auf unseren feindlichen Schiffen einrichten. In Ordnung, also auf unserem feindlichen Schiff hier habe ich eine Variable namens Explosion erstellt, habe ich eine Variable namens Explosion erstellt die hier in unseren Partikeln freeloading , Explosionspartikel. Und ich werde zu dem Zeitpunkt gehen, an unser Feind innerhalb der Bandfunktion getroffen wird , die kleiner oder gleich 0 ist. Wir wollen es löschen, aber natürlich wollen wir, wir wollen spawnen oder Partikel hineinbringen. Also werde ich eine neue Variable conn EX p underscore erstellen . Setzt das gleich der Explosionspunkt-Instanz. Hier haben wir eine neue Instanz dafür. Und wir möchten es natürlich in unsere Szene mit get parent and child EXP aufnehmen. Okay. Also das ist großartig. Wir haben es jetzt in der Szene. In diesem Fall gibt es zwei Probleme. Nun, ein Problem und ein Teilproblem. Das erste ist das Problem , dass es immer noch in der Ecke nach oben gehen wird. Also müssen wir seine Position einstellen EXP Unterstrich Punktposition entspricht Selbstpunktposition. Bis jetzt. Die Explosionspartikel sollten sich jetzt an derselben Stelle wie unser feindliches Schiff befinden, als es starb. Und wir können weitermachen und einen Versuch setzen. Um wahr zu sein. Sie sollten das nicht mit dem Timer-Setup tun müssen. Aber wenn Sie besonders sicher sein wollen als ein Dutzend Schleifen oder etwas davon allein. Nur eine kleine zusätzliche Vorsichtsmaßnahme. Dann können Sie loslegen und hier einen Schuss gleich true setzen. Wenn wir das jetzt ausführen, können Sie einen Blick darauf werfen. Da haben wir's. Wir haben eine Explosion und sie verschwindet. Da haben wir's. Jetzt können Sie weitermachen und dasselbe tun und es dem Player hinzufügen, wenn Sie möchten. Wenn der Spieler getötet wird. Da haben wir's. Wir haben unsere eigene kleine Explosion geschaffen. Rein aus Partikeln hergestellt. 32. Spiel vorbei: Ordnung, für dieses Video werden wir weitermachen und ein kleines Spiel über Szene machen , damit wir den Benutzer auffordern können, das Spiel neu zu starten, wenn der Spieler stirbt wir den Benutzer auffordern können, das . Und ich glaube, ich mache das innerhalb meiner Bestellung. Ich wollte dafür ein separates Blatt machen. Weißt du was? Lass uns weitermachen und ich füge es meinem Dewey hinzu. Ja, lass uns weitermachen und das machen. Also werde ich weitermachen und dafür werde ich ein Farbwrack machen. Und ich werde es einfach verlängern. Stellen Sie sicher, dass es meinen gesamten blauen Bereich abdeckt. Und ich werde die Farbe ändern, um zu sehen, wie der Dunkelmodus aussehen wird. Einundzwanzig, einundzwanzig, einundzwanzig. Und senke mein Alpha auf halbem Weg auf eine Runde. Wenn wir uns das jetzt ansehen, können wir uns das ansehen. Jetzt wird diese Game-over-Szene für uns wirklich einfach sein . Ich nenne das GO, GO BG für das Spiel im Hintergrund. Ich werde hier einen Kontrollknoten erstellen und ihn einfach Game Over nennen. So kann ich später den Zugriff darauf erleichtern. Verschiebe meinen Hintergrund hinein. Und dann können wir das gesamte Spiel einfach über den Bildschirm ein- oder ausblenden. Okay, also was wir hier brauchen, also brauchen wir ein Etikett, damit wir etwas Text zeigen können. In diesem Text wird nur M über sicher stehen, Beschriftungen über unserem Hintergrund. Und mal sehen. Also alles, was wir hier überschreiben können. Nein, alles scheint so gut wie möglich zu sein, ohne benutzerdefinierte Schriftarten einzubeziehen. Also sag GameOver, sag Geosteuer. Und das Letzte, was wir einbringen werden, ist ein Knopf. Und auf dieser Schaltfläche wird „Wiederholen“ angezeigt. In Ordnung, jetzt haben wir unsere Bücher. Wir haben alle unsere Elemente, Sie, wir haben einen kleinen Hintergrund, um zu zeigen , dass etwas anders ist. unserem Text erfahren Sie, dass das Spiel der Spieler vorbei und wir haben einen Wiederholungs-Button. Jetzt können wir einsteigen. Jetzt müssen wir das nur noch ein- oder ausblenden. Und dafür können wir in unsere GUI gehen. Und was für uns sehr wichtig sein wird , ist der Pause-Modus hier. Nun ist dies auf erben eingestellt, was bedeutet, wenn alles andere aufhört oder die GUI stoppt und wenn unser Dewey stoppt oder das Spiel über dem Bildschirm nicht funktioniert. Also wollen wir dies so einstellen , dass wir weiterarbeiten werden, wenn wir den Baum wohl und alle seine Kinder hier pausieren wohl und alle seine Kinder hier . In Ordnung, also schauen wir uns unser Skript an und wir sagen, schreibe eine Funktion mit dem Namen „er“. Und dafür bekommen wir unser GameOver. Beachten Sie hier. Ist das sichtbar gleich wahr? Und wenn unser Spieler stirbt, sehen Sie, wo das genau hier ist. Kostenlos. Ross wird die GUI-Gruppe anrufen. Offensichtlich brauchen wir dafür keine Argumente. Wir werden die Gruppe „Gooey“ nennen. Und ich habe das Spiel bereits mit einem Unterstrich vergessen . Kopier das. Es gibt also keine Tippfehler. Du gehst. Es löst jetzt unser GameOver aus, wenn wir verlieren. Lass uns einen Blick darauf werfen. Sponsoring der Bürgerschaft. Offenbar gehen sie alle den gleichen Weg. Wir gehen. Okay. Okay, wir haben jetzt zwei Gesundheit. Eins. Der nächste sollte unser Spiel auslösen. Über. Los geht's. Also, wenn du die Szene nicht pausieren willst und weiterhin sehen willst, wie deine Feinde spawnen und schießen. Sie können diesen Teil sicherlich hier beenden. Was ich Ihnen zeigen werde, wie Sie auch den Bildschirm anhalten können . In unserem Spielerskript, kurz bevor wir es freigeben, nachdem wir das Spiel beaufsichtigt aufgerufen haben, werden wir sagen, tree ist gleich true. Und wenn wir das jetzt versuchen würden, werden wir sehen, dass alles pausiert. Wenn wir sterben. Da haben wir's. Also, wenn du willst, dass alles angehalten wird, wenn du den Bildschirm pausieren lassen willst wenn wir ein Spiel so beenden. So können wir das machen. Wenn Sie das nicht haben möchten, lassen Sie einfach diesen Bildschirm oder diese Codezeile ganz weg. Und jetzt brauchen wir unseren Wiederholungs-Button hier, um zu funktionieren. Also lasst uns weitermachen und unseren Wiederholungsknopf mit dem Brustsignal an unsere GUI anschließen . Und wenn das abgestürzt ist, werden wir sagen, holen Sie sich drei Reload-Währungen. Was das jetzt tun wird, ist, dass fehlende Gerechtigkeit definitiv neu geladen wird . Wenn wir bei SF wären, drücken wir den Play-Button wie gerade. Mal sehen, 1231 weitere Schüsse und wir werden davon getroffen. Siehe GameOver, alles ist angehalten. Und wir drücken auf „Wiederholen“. Und wir sehen, dass es neu geladen wird, aber alles ist immer noch angehalten. Wir müssen den Baum jetzt fortsetzen, da er neu geladen wurde. Also, nachdem wir neu geladen haben, würde die Szene dasselbe tun , was wir gerade einen Baum bekommen haben. Und machen Sie eine Pause und wir setzen das auf false. Jetzt wird es also nicht nur zurückgesetzt, sondern ich werde zurückgesetzt und wir können sofort mit dem Spielen beginnen. Schon wieder. Wir werden nicht alles haben , was nicht eingefroren wird. Machen Sie weiter und schauen Sie sich das an. Wir brauchen noch einen Treffer. Los geht's. Kam vorbei. Kannst du es noch einmal versuchen? Und jetzt können wir noch ein bisschen weiterspielen. Da haben wir's. Wir haben jetzt eine Game-over-Szene, ein Spiel über den Bildschirm. Das gibt uns jetzt die Möglichkeit, ein Spiel neu zu starten , ohne unser Programm schließen und erneut öffnen zu müssen.