Lerne das Programmieren mit Scratch von Grund auf | Stephan Haewß | Skillshare
Suchen

Playback-Geschwindigkeit


1.0x


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

Lerne das Programmieren mit Scratch von Grund auf

teacher avatar Stephan Haewß

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

      1:16

    • 2.

      Öffne und installiere Scratch

      3:20

    • 3.

      Übersicht Scratch-UI

      22:45

    • 4.

      Erstes Spiel, erster Code

      11:38

    • 5.

      Verbesserung der Ballonbewegung

      9:25

    • 6.

      Das geklickte Ereignis

      4:03

    • 7.

      Sound abspielen und die Partitur zählen

      9:41

    • 8.

      Mehr Ballons machen

      9:56

    • 9.

      Hinzufügen von Verzögerung zu den Ballons

      8:39

    • 10.

      Erstelle ein Konto zum Speichern und Teilen in der Cloud

      5:20

    • 11.

      Neues Spiel, das das Raumschiff steuert

      13:26

    • 12.

      So fügst du den Hintergrund hinzu

      9:14

    • 13.

      Bewegen des Hintergrunds

      6:51

    • 14.

      Zweiter Hintergrund-Sprite

      6:41

    • 15.

      Erstes Hindernis den Felsen

      8:28

    • 16.

      Auf den Fels schlagen

      4:11

    • 17.

      Schäden und Reparaturen

      7:38

    • 18.

      Zufällige Startposition und benutzerdefinierte Blöcke

      10:56

    • 19.

      Klonen unseres Felsens

      14:07

    • 20.

      Zufällige Verzögerung

      4:39

    • 21.

      Sterne sammeln

      9:37

    • 22.

      Landung auf einem Planeten

      15:40

    • 23.

      Refactoring des Raketenschiff-Skripts

      6:35

    • 24.

      Hintergründe wechseln

      7:03

    • 25.

      Reparaturen kaufen

      12:19

    • 26.

      Den Preis zufällig variieren

      16:06

    • 27.

      Korrigieren des Hintergrundcodes

      7:34

    • 28.

      Verlassen des Handelsbildschirms

      14:55

    • 29.

      Neu Spielsteuerung der Hauptfigur

      5:28

    • 30.

      Gehanimation

      9:38

    • 31.

      Einrichten des ersten Raums

      8:09

    • 32.

      Schlüsselinformationen anzeigen

      5:28

    • 33.

      Aufheben des Schlüssels

      3:01

    • 34.

      Verschieben des Schlüssels zum Inventar

      8:13

    • 35.

      Entriegeln der Tür

      4:01

    • 36.

      Das Aktionsmenü

      7:17

    • 37.

      Entriegeln der Tür mit der Gebrauchsaktion

      5:51

    • 38.

      Benutzerdefinierter Sprechblock

      13:27

    • 39.

      Den Raum ändern

      8:06

    • 40.

      Ändern von Spielobjekten in Klone

      8:04

    • 41.

      Einführungslisten

      11:37

    • 42.

      Platzieren der Objekte

      4:44

    • 43.

      Inventarliste

      4:11

    • 44.

      Platzieren von Objekten im Inventar

      10:18

    • 45.

      Fixieren von Objektbeschreibungen

      3:28

    • 46.

      Anzeigen der Beschreibung im Inventar

      3:35

    • 47.

      Reparieren der Spiellogik

      9:58

    • 48.

      Avery auf der richtigen Seite platzieren

      4:15

    • 49.

      Hinzufügen des Satchels

      8:54

    • 50.

      Richtiges Platzieren des Verwenden-Buttons

      9:38

    • 51.

      Anzeigen verschiedener Nachrichten für jede Objektverwendung

      6:38

    • 52.

      Ausgangsbedingungen prüfen

      6:57

    • 53.

      Neues Spiel Jump 'n Run

      5:36

    • 54.

      Schwerkraft simulieren

      5:19

    • 55.

      Ausgraben der Katze

      7:27

    • 56.

      Die Katze springt

      6:45

    • 57.

      Bewegen der Katze nach links rechts

      4:34

    • 58.

      In die richtige Richtung schauen und Doppelsprung fixieren

      4:30

    • 59.

      Fixierung der Kollisionserkennung

      13:33

    • 60.

      Horizontale Bewegungskorrektur

      4:12

    • 61.

      Triff die Box, nicht die Katze

      10:58

    • 62.

      Puzzle und 2. Raum

      14:26

  • --
  • 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.

24

Teilnehmer:innen

--

Projekt

Über diesen Kurs

Tauche mit diesem anfängerfreundlichen Kurs in die aufregende Welt des Programmierens ein. Dieser Kurs ist perfekt für aufstrebende Coder jeden Alters und führt dich in die Grundlagen der Programmierung mit Scratch, einer lebendigen und intuitiven visuellen Programmiersprache, ein.

Was du lernen wirst:

  • Grundlagen von Programmierkonzepten durch praktische Erfahrung
  • So verwendest du die blockbasierte Codierungsumgebung von Scratch
  • Grundlagen des Spieldesigns und der Entwicklung
  • Problemlösungs- und computergestütztes Denken
  • Erstellen interaktiver Animationen und Geschichten

Kurs-Highlight:

Baue dein allererstes Spiel von Grund auf auf! In diesem Kurs erstellst du ein fesselndes „Balloon Pop“-Spiel, in dem die Spieler Ballons platzen müssen, wenn sie vom unteren Bildschirmrand aufsteigen. In diesem Projekt lernst du die wesentlichen Programmierkonzepte kennen, darunter:

  • Einrichten von Spielumgebungen
  • Erstellen und Manipulieren von Sprites
  • Implementieren von Benutzerinteraktionen
  • Hinzufügen von Randomisierung für ein ansprechendes Gameplay
  • Partitur halten und Spielzustände mit variablen verwalten

Warum Scratch?

Scratch ist der perfekte Ausgangspunkt für neue Programmierer. Dank der visuellen Drag-and-Drop-Benutzeroberfläche kannst du dich auf Logik und Kreativität konzentrieren, ohne dich in der komplexen Syntax zu verstecken. Die Fähigkeiten, die du hier lernst, bilden eine starke Grundlage für zukünftige Programmierungen.

Für wen ist dieser Kurs geeignet?

  • Absolute Anfänger ohne Vorkenntnisse
  • Studierende, die Informatik erkunden möchten
  • Pädagogen, die Programmierung in ihren Lehrplan einführen möchten
  • Jeder, der neugierig auf Spielentwicklung und interaktives Storytelling ist

Keine Vorkenntnisse in der Programmierung erforderlich – bringe einfach deine Neugier und Kreativität ein!

Begleite mich auf dieser aufregenden Reise in die Welt des Codierens. Am Ende dieses Kurses hast du dein erstes Spiel erstellt und das Selbstvertrauen erworben, noch komplexere Programmierprojekte zu erkunden. Lass uns noch heute mit deinem Coding-Abenteuer beginnen!

Triff deine:n Kursleiter:in

Teacher Profile Image

Stephan Haewß

Kursleiter:in
Level: Beginner

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. 01 Einführung: Willkommen zu diesem Kurs. Es ist der ultimative Anfängerkurs für alle, die in die Welt des Codierens und Programmierens von Spielen eintauchen möchten . Hallo zusammen. Ich bin Ihr Kursleiter und freue mich darauf, Sie auf dieser unterhaltsamen und interaktiven Reise durch das Programmieren zu begleiten. Egal, ob Sie noch nie eine Codezeile geschrieben haben oder Ihre Grundlagen auffrischen möchten, dieser Kurs ist perfekt für Sie. In diesem Kurs lernst du, vier spannende Spiele von Grund auf neu zu erstellen vier spannende Spiele von Grund auf neu ein poppendes Malon-Spiel, ein Weltraumforschungsspiel, ein Point-and-Click-Abenteuer und ein einfaches Jump-and-Run-Spiel Im Laufe des Kurses werden wir dir grundlegende Programmierkonzepte wie Variablen, Nachrichten, Kontrollstrukturen wie „ Wenn dann“ und „Wiederholen“, Listen und Klonen näher bringen grundlegende Programmierkonzepte wie Variablen, Nachrichten, Kontrollstrukturen wie „ Wenn dann“ und „Wiederholen“, Listen und Klonen Ihr seht, wie diese Konzepte in euren Spielen zum Leben erweckt werden. Mit den schrittweisen Anleitungen und praktischen Projekten gewinnen Sie das Selbstvertrauen und die Fähigkeiten, um Ihre eigenen Spiele und Projekte von Grund auf neu zu erstellen. Bist du bereit, dein Programmierabenteuer zu beginnen? Begleiten Sie mich beim Programmieren mit Scratch. Lassen Sie uns dafür sorgen, dass Programmieren Spaß macht und für jeden zugänglich ist. Und mach dich jetzt auf den Weg und beginne deine Reise in die spannende Welt des Programmierens mit Scratch. 2. Scratch öffnen und installieren: Hier ist die Scratch-Webseite, und das ist der Ort, an dem Sie in Ihrem Lieblingsbrowser, welchen Browser ich hier verwende, Chrome aufrufen müssen in Ihrem Lieblingsbrowser, welchen Browser ich hier verwende, Chrome aufrufen . Es spielt eigentlich keine Rolle, welches Sie verwenden, aber vielleicht möchten Sie für eine Funktion, die ich Ihnen am Ende dieses Videos zeigen möchte, Chrome oder Edge verwenden. Ich weiß nicht genau, ob das auch in anderen Browsern möglich ist. Vielleicht auch Safari. Aber fangen wir hier auf dieser Seite an und Sie müssen zu dieser URL gehen, Scratch it Punkt U also geben Sie das in Ihre Adressleiste in Ihrem Lieblingsbrowser ein. Wie gesagt, ich verwende hier Chrome . Aber es sollte keine Rolle spielen. Dann haben wir hier diese nette Scratch-Seite, Sie haben Projekte vorgestellt , die Sie sich ansehen können, und Sie haben hier auch Tutorials. Aber was im Moment wirklich wichtig ist, ist dieser Button hier, fang an zu kreieren. Sie müssen kein Konto erstellen, Sie müssen sich nicht registrieren. Sie können das aber tun. Aber wir werden das tun ohne uns zu registrieren, ohne Scratch beizutreten. Das ist hier dieser Button. Sie können ein Konto erstellen und dann Ihre Projekte in diesem Konto speichern und dann können Sie die Projekte bearbeiten, wie Sie möchten. Aber im Moment verwenden wir nur dieses Jahr. Beginnen Sie mit der Erstellung, klicken Sie einfach darauf. Und dann kommst du ins Studio, das Scratch-Studio, und hier hast du deine Benutzeroberfläche, dein Canvas, und das wird sozusagen dein Arbeitsplatz sein. Ich werde im nächsten Video erklären, wofür die verschiedenen Regionen hier gedacht sind und wie sie funktionieren. Aber vorerst möchte ich dir noch etwas zeigen Wie kann man diese App in e installieren, oder wie kann man daraus eine App, eine Web-App machen ? Das ist hier in Chrome, also musst du hier auf diese Menütaste drücken. Sie öffnen also dieses Menü und dann ist Speichern und Teilen der richtige Menüpunkt hier , Speichern und Teilen und dann Seite als App installieren. Klicken Sie also darauf. Und dann kannst du es auch hier benennen, umbenennen. Es heißt bereits Scratch Imagine Program Share. Klicken Sie also auf Installieren. Die Webseite wird in einem neuen Fenster als Web-App geöffnet. Und hier können Sie zum Beispiel das Fenster maximieren, Sie haben hier keine Adressleiste. Sie haben viel Platz für Ihre Projekte, und Sie können es auch an die Taskleiste oder an das Dock auf dem Mac anheften und es einfach wie ein normales Programm verwenden. Das musst du nicht tun. Sie können es auch in Ihrem Browser verwenden. Aber ich benutze es lieber so. In Edge ist es ein bisschen anders, also das wird irgendwo hier unter Apps stehen , die Seite als App installieren, ungefähr so. In Safari und Firefox. Ich bin ehrlich. Ich weiß einfach nicht, wie man das macht, aber ich denke, du kannst es herausfinden. Okay, hier haben wir es. Das ist unser Arbeitsplatz hier und wir fangen an, Projekte zu erstellen. Aber vorher werde ich dir hier alles zeigen und dir zeigen, wie du all diese Regionen und all diese Tabs und die Menüpunkte hier verstehen kannst all diese Regionen und all diese Tabs und die Menüpunkte hier verstehen . Also bis zum nächsten Video. 3. Übersicht Scratch-UI: Hier sind wir also bei Scratch, und das ist die App-Version, die Web-App-Version, aber Sie können es natürlich auch im Browser tun . Das ist kein Problem. Ich installiere die App einfach so, wie ich es dir schon vorher gesagt habe, um mehr Platz zu haben und ein zusätzliches Fenster in der Taskleiste oder im Dock auf dem Mac zu haben. Wie auch immer, du kannst es im Browser machen, du kannst es in der App machen. Hier geht es um die Scratch-Benutzeroberfläche, und als Erstes möchte ich Ihnen zeigen , wie Sie hier die richtige Sprache einstellen. Dies ist natürlich auf Englisch eingestellt, da es sich um einen Englischkurs handelt, aber Sie können ihn auch anders einstellen. Um das zu tun, gehst du einfach unter Einstellungen. Hier, dieses Menü, Drop-down-Menü, klicken Sie darauf, und dann haben Sie diesen Globus mit Sprache. Und hier hast du viele, viele Sprachen, zum Beispiel Spanisch oder Deutsch, weil ich Deutsch bin, werde ich es jetzt einfach auf Deutsch umstellen. Dann hast du hier alle Zeichenketten, alle Texte hier auf Deutsch. Auch die Blöcke. Siehst du, da ist ein Getriebe, S jetzt Schritt. Das ist Deutsch. Ich habe es auf Englisch gesagt, dann bin ich zehn Schritte gegangen, habe mich um 15 Grad gedreht und alles hier in diesen Blöcken, die die Bausteine für unsere Skripte sein werden , ist natürlich alles in der Sprache, die Sie hier gewählt haben. Hier wählst du deine Lieblingssprache, in der du programmieren möchtest weil dann alles auf Englisch sein wird, einschließlich aller Blöcke hier. Also der erste Abschnitt und das erste Konzept, das ich dir hier in Scratch I zeigen möchte hier in Scratch , ist das Konzept von Sprites Dafür schließe ich einfach dieses Tutorial-Video hier. Also einfach hier auf dieses X klicken, schließen und dann wird es verschwinden. Ihr könnt es euch natürlich auch anschauen und euch hier im Scratch einen ersten Eindruck von den Mechanismen verschaffen. Aber kommen wir zu den Sprites. Die Sprites sind da und das sind die Charaktere oder ähnliche Dinge, die du in deinem Spiel hast Zum Beispiel ist diese Katze hier der Standard-Sprite. Sie können die Sprites hier auswählen. Wenn Sie mehrere haben, können Sie jedes einzelne auswählen. Ich kann ein neues erstellen, aber lassen Sie uns das erste überprüfen, das Standard-Sprite hier, die Katze Du kannst die Katze hier sehen, und das ist die Spielfläche, also kannst du dir hier eine Vorschau deines Spiels ansehen So wird dein Spiel aussehen, wenn du angefangen hast, und hier kannst du auch die Katze hierher bewegen, den Sprite an eine beliebige Stelle Hier hast du also all deine Sprites, und das sind sozusagen die Hauptfiguren in deinem Spiel Also alles, was sich bewegt, alles, was kontrolliert wird, alles, was dynamisch in deinem Spiel ist, wird ein Sprite sein Hier hast du also die Liste der Sprites, und dann kannst du die Sprites benennen Also hier kannst du den Namen des Sprites ändern. Ich kann es zum Beispiel Katze nennen. Dann wird hier in der Liste auch die Katze stehen. Das ist ein Daumennagel hier. Sie können das Sprite hier auch löschen, aber das sollten wir jetzt nicht tun Hier kannst du die Position als Zahlen angeben. Die aktuelle Position ist -46, und ich kann die Katze hier auf diese Leinwand bewegen, und Sie werden sehen, dass sich das auch ändert Das ist jetzt also -149. Aber darauf kommen wir später zurück, nur um hier zu erwähnen, dass Sie hier die Koordinaten der Position der Katze auf der Leinwand festlegen können . Indem Sie die Katze hierher ziehen, indem Sie das Sprite ziehen, oder Sie können diese Zahlen auch hier ändern, x und y. Das ist also hier möglich, und dann können Sie die Katze zeigen oder verstecken Wenn Sie möchten, dass sie unsichtbar ist, müssen Sie dieses i wählen, das durchgestrichen ist, oder wenn Sie möchten, dass es sichtbar ist, wählen Sie das i. Dann haben Sie hier eine Größe, also diese Wenn Sie möchten, dass es halb so groß ist, geben Sie hier 50% ein, dann ist es nur halb so groß oder Sie können auch wählen, ob es doppelt so groß sein soll. Dann hast du 200%. Dann sind wir hier doppelt so groß das normale Standard-Sprite Das ist also die Standardgröße, 100, und dann sind 200 doppelt so groß Ein Viertel wird hier 25 sein, also nur ein Viertel der Standardgröße. Und natürlich werden 400% viermal so groß sein, und dann hast du hier diese riesige Katze. Okay, aber lass es uns wieder auf 100 setzen, und hier kannst du es auch drehen Das ist hier also der Standardwinkel. Und wenn ich diesen Pfeil hierher ziehe , ziehe ich ihn hierher in diesen Kreis. Sie sehen, dass sich die Katze hier dreht. Das wird hier also der Winkel Null sein, also wenn Sie nach oben zeigen und dann mit 90 Grad nach rechts zeigen, 180 zeigt nach unten und dann nach links Es ist eine negative Zahl, also ist -90 gegen den Uhrzeigersinn Dann steht die Katze kopfüber und zeigt nach links. Stellen wir es wieder auf 90 Grad. kannst es auch hier mit deiner Tastatur ändern, 90 sind dann genau diese 90 Grad, und du kannst es auch umdrehen, also kannst du es irgendwie spiegeln. Also dann wird es hier nach links oder nach rechts gespiegelt Also das ändert hier sozusagen den Modus von Rotation zu Spiegelung, nach links oder nach rechts Und hier ändere ich es wieder auf Rotation. Und hier kann ich die Rotation komplett ausschalten. Also ändert sich hier nichts mehr, wenn ich die Richtung ändere. Okay, aber darauf kommen wir später zurück, nur um zu sagen, dass Sie hier die Richtung ändern können. Setzen wir es auf 90 Grad und Rotation, wieder die Standardwerte. Und hier hast du es. Deine Sprites, und ich kann hier ein neues machen Drück einfach auf diesen Knopf. Und dann haben Sie einige Voreinstellungen zur Auswahl. Sie können auch hier suchen oder eine Kategorie wählen. Zum Beispiel alle Tiere, ein Bär, eine fliegende Katze, ein Küken, ein Dinosaurier, eine Ente, was auch immer du magst, oder vielleicht willst du Menschen, eine Person oder Fantasien wie Drachen So weiter. Sie können hier auch Briefe haben. Wenn du etwas auf deinen Bildschirm schreiben möchtest, kannst du diese Buchstaben hier auswählen. Aber lass uns vielleicht einen Ballon nehmen, und jetzt haben wir hier einen Ballon-Sprite. Wir haben die Katze und den Ballon. Jetzt können wir die Katze auch hier löschen. Wir brauchen es nicht mehr. Da es in unserem ersten Spiel um Luftballons gehen wird, löschen wir die Katze. Jetzt haben wir nur noch den Ballon. Wenn du versehentlich etwas gelöscht oder etwas geändert hast und du möchtest, dass es rückgängig gemacht wird, dann kannst du Strg Z oder Befehl Z drücken , oder du kannst auch hier dieses Menü hinzufügen und dann in diesem Fall Sprite wiederherstellen, und dann haben wir wieder die Katze Hier haben wir unsere Sprites, und ich werde die Katze wieder löschen , weil wir sie nicht mehr benötigen Hier können wir den Ballon natürlich auch bewegen , indem wir ihn auf die Leinwand ziehen, und du siehst auch, all diese Zahlen hier, also ändern sich X und Y genauso wie bei der Katze Okay, das war's für den Sprite-Bereich. Wir fahren mit dem nächsten Abschnitt fort. Gehen wir zum nächsten Abschnitt über und dies wird hier der Code-Abschnitt sein. Es ist mit Sprites verwandt. Wenn du hier ein Sprite hast und es ausgewählt hast, dann fügst du ihm hier den Code für dieses Sprite hinzu ihm hier den Code für dieses Das bedeutet, dass dieser Code hier, das Skript, das Sie hier erstellen , an das Sprite angehängt wird Sie können auch ein Skript an einen Hintergrund anhängen. Hier haben Sie also die Bühne für Hintergründe. Also hier ist die Bühne. Das ist ein weiterer Abschnitt, und das ist quasi der Hintergrund deines Spiels, und hier kannst du mehrere Hintergründe haben und sie dann auch dynamisch mit Code austauschen. Und du kannst auch mehrere Hintergründe haben, wie gesagt, und dann, je nachdem, was du hier auswählst. Wenn Sie also Stufe auswählen, fügen Sie den Code für diese Phase hier hinzu, oder wenn Sie hier Sprite auswählen, fügen Sie den Code für dieses Sprite Ich habe Ballon ausgewählt, wie Sie hier sehen können, das Hier habe ich den Hintergrund ausgewählt, und hier habe ich das Sprite ausgewählt, und jetzt kann ich den Code, sozusagen das Skript, für dieses Sprite bearbeiten sozusagen das Skript, für dieses Sprite Dafür hast du all diese Blöcke hier. Scrollen Sie es also hier mit der Scrollleiste komplett durch. Es wird also alles hier sein, aber du kannst auch zu Kategorien wechseln, sodass du zum Beispiel zur Kategorie Ereignisse springen kannst, oder zur Kategorie M-Blöcke, indem du hier eine Kategorie auswählst. Also zuerst Kategorien Bewegung. Hier finden wir alles, was der Bewegung des Sprites zu tun hat, seiner Bewegung bis hin zur Rotation Du kannst hier also die Rotation auch dynamisch während der Laufzeit deines Spiels einstellen dynamisch während der Laufzeit deines Spiels Wir haben Looks, alles, was mit dem Aussehen deines Sprites zu tun hat, hier. Du kannst zum Beispiel den Ballon etwas sagen lassen, sodass du dann diesen Ruf herausbringst, oder du kannst das Kostüm wechseln, um hier Animationen zu erstellen Sie können hier auch die Größe dynamisch einstellen, also können Sie ihn verkleinern, vergrößern, - und ausblenden und so weiter. Hier hast du Sound, also kannst du einen Sound abspielen. Wenn das Sprite zum Beispiel mit der Maustaste angeklickt wird, könntest du hier einen Sound abspielen Hier hast du Ereignisse. Wenn bestimmte Ereignisse eintreten. Wenn das Spiel zum Beispiel gestartet wird, ist dies dieses Ereignis hier. Du kannst es dann verwenden, um verschiedene Blöcke auszulösen. Aber das werde ich später zeigen. Hier hast du Kontrollen, also alles, was mit Loops oder Conditional zu tun hat. Wenn das der Fall ist, dann mach dieses, jenes Zeug, das du nochmal machen kannst Dann haben wir Sensorik. Wenn das Sprite zum Beispiel etwas oder eine Farbe berührt oder ein anderes Sprite berührt, dann findest du das hier Operatoren, sehr wichtig, mathematische Operatoren, zum Beispiel gleich oder kleiner als alles oder die Auswahl einer Zufallszahl, sehr wichtig für Spiele, um sie interessanter zu machen, um sie nicht deterministisch zu machen, das findest du hier Dann auch sehr wichtige Variablen, und natürlich werde ich Variablen später erklären Aber hier, sehr wichtige Variablen. Sie können beispielsweise Werte in Variablen und einen Status in einer Variablen speichern Variablen und einen Status in einer Variablen speichern, und das ist für ein Spiel unerlässlich. Ohne Variablen kann man auch mit Scratch nicht viel aus einem Spiel machen . Hier unter meinen Blöcken kannst du deine eigenen Blöcke definieren, die sozusagen verschiedene Unterblöcke enthalten. Aber das wird natürlich später behandelt. Und hier können Sie auch Plugins hinzufügen. Du hast diese Erweiterungen hier, also so etwas wie Text-to-Speech, also kannst du die Game-Engine etwas sagen lassen, sodass ein Text, den du eingibst, dann mit einer künstlichen Stimme gesprochen werden kann , oder du kannst Instrumente und Schlagzeug spielen, du kannst zeichnen und so weiter, auch übersetzen, und du kannst auch diesen ganzen Scratch-Code verwenden, um einen Roboter oder so etwas zu steuern wie das mit Bein oder Minetorms Wenn du hier eine Erweiterung hinzufügst, wird das hier eine neue Kategorie sein , und dann kannst du wählen Wenn ich hier zum Beispiel Musik auswähle, wird es eine neue Musikkategorie geben, das Ende, und dann kannst du sie zum Beispiel verwenden, um einen Schlagzeugsound zu spielen. Okay, das ist also der Code hier. Wir werden viel Zeit hier in diesem Code-Abschnitt verbringen. Das ist natürlich sehr wichtig, aber es gibt auch andere Abschnitte, und als nächstes kommen Kostüme. Kostüme hier, direkt neben dem Code. Wir können es auswählen und dann siehst du dir den Koffer an. Das ist das Aussehen deines Sprites, die Grafik für dein Sprite die Grafik für dein Sprite Und in diesem Fall ist es ein Ballon. Es handelt sich hier um eine Vektorgrafik, also nicht Pixel für Pixel, sondern sie ist aus einer Form zusammengesetzt, sodass Sie hier auch eine Form hinzufügen können, zum Beispiel einen Kreis. Klicken Sie hier einfach auf dieses Symbol und dann können Sie einen Kreis bilden, und dann können Sie einen Kreis bilden indem Sie dieses Rechteck hierher ziehen Es ist nicht einmal ein Kreis. Nein, es ist ein Kreis. Okay. Du kannst also Kreise oder Ellipsen oder so machen, oder du kannst hier natürlich auch etwas schreiben, einen Text Also Ballon zum Beispiel in verschiedenen Farben. All das werden wir in späteren Kapiteln behandeln. Machen Sie sich keine Sorgen , wenn Sie das alles nicht verstehen. Dies ist nur ein Überblick. Hier kannst du wählen, welches Aussehen dein Sprite haben soll, und du kannst auch Animationen erstellen Hier hast du alle Frames für Animationen, und du kannst im Code dann zum Beispiel zum nächsten Frame wechseln Sie können Dinge wie in einer Schleife machen und dann hier all diese Animationen durchgehen. Das ist hier also auch sehr wichtig für Animationen. Sie können hier viele, viele Frames hinzufügen . Alles kann anders aussehen, dann können Sie, indem Sie hier all diese Frames ändern , Sie können es dann so aussehen lassen, als wäre es eine Art Bewegung, eine Bewegung, etwas Ähnliches. Also das ist Animation hier, aber im Moment haben wir hier nur diesen ersten Frame, wir können auch die anderen Frames löschen , damit wir nicht verwirrt werden. Jetzt haben wir also nur einen Frame, also im Moment keine Animation. Wir haben diesen Ballon hier, ich kann ihn auch löschen. Sie können die Formen hier also mit diesem Auswahlcursor auswählen. Wählen Sie also das Werkzeug aus, das hier mit diesem Rechteck ausgewählt wurde, und dann kann ich es löschen, zum Beispiel mit dieser Taste hier oder mit der Löschtaste. Jetzt ist er weg und auch diesen Text kann ich hier löschen. Also ist er weg. Okay. Und Sie können auch etwas tun, wie diese Vertikale horizontal umzudrehen und sie auch zu kopieren und dann wieder einzufügen, und das werden wir alle später behandeln. Das sind die Kostüme sehr wichtig, auch für das Aussehen deines Sprites, das Aussehen deines Sprites In diesem Fall handelt es sich also um einen Ballon, der aus verschiedenen Formen Du kannst hier auch einfach etwas malen. So ist zum Beispiel auch Freiformmalerei möglich. Das ist kein Problem. Um etwas rückgängig zu machen, kannst du hier auch diese Pfeile verwenden damit ich alles rückgängig machen kann , was ich bisher gemacht habe Dann wiederhole es erneut. Lassen Sie uns diese Punkte hier loswerden. Jetzt haben wir wieder unseren Ballon, nur einen Ballon, und das war's. Das war's vorerst für die Kostüme und dazu später mehr. Der nächste Abschnitt wird den Sounds gewidmet sein. Die Sounds befinden sich also hier direkt neben den Kostümen, und hier kannst du den Sprites weitere Sounds hinzufügen Sprites können Sounds haben. Hier haben wir diesen Pop-Sound. Sie können es mit dieser Play-Taste hier abspielen und Sie hören dieses Knallen. Sehr wichtig für Spiele sind auch die Sounds, damit du ein Feedback hast, auch ein akustisches Feedback zu deinen Aktionen als Spieler. Hier kannst du auch so viele Sounds hinzufügen, wie du möchtest. So kannst du hier zum Beispiel einen neuen Sound hinzufügen. Hier gibt es einige vordefinierte Sounds. Sie können sie auch hier abspielen, indem den Mauszeiger über diese Schaltfläche hier bewegen, diese Play-Schaltfläche Außerdem wird Musik da sein oder einfach nur verschiedene Geräusche, Klirren, Akkorde Und die Klickgeräusche, oder diese auch Klavier oder Saxophon, Trommel, Trompete So viele, viele Sounds stehen hier zur Auswahl, aber du kannst auch deine eigenen Sounds hochladen Du kannst hier also auch deine eigenen Sounds aufnehmen. Also, wenn du ein Mikrofon an deinen Computer angeschlossen hast und du hier etwas aufnehmen kannst oder du kannst einen zufälligen Sound wählen, oder du kannst einen beliebigen Sound hochladen, den du woanders aufgenommen hast oder du irgendwo heruntergeladen hast, und dann kannst du ihn hier hochladen und ihn hier in deinem Spiel als Sound verwenden. Und dann kannst du die Sounds aus dem Code aus diesem Abschnitt hier auslösen . Es gibt auch diese Kategorie Sound, und dort kannst du Sound abspielen. Pop zum Beispiel, hier gibt es nur diesen einen Sound. Aber wenn du einen hinzufügst, lass uns einen hinzufügen. Zum Beispiel diesen. Jetzt haben wir zwei Sounds, und dann hört man Play-Sounds, auch E-Gitarre. Ich kann das einfach hierher verschieben und dann kannst du nicht nur Pop wählen, sondern auch den zweiten Sound, eine E-Gitarre. Wenn du dann auf diesen Block drückst , den ich gerade hier platziert habe, habe ich ihn einfach hierher gezogen auch hier ist es eine Art Leinwand, wo all deine Blöcke leben, wo dein Code lebt Und wenn ich dann darauf klicke, es sofort ausgeführt und der Sound wird hier schon abgespielt Das war's für Klingt wie Kostüme, aber akustisch, sodass du beide auslösen kannst, oder du kannst Kostüme per Code ändern. Sie können Sounds auch per Code auslösen. Was jetzt noch übrig ist, ist das, was ich bereits erwähnt habe auch diese Phase hier sind Hintergründe, und hier können Sie mehrere Hintergründe haben Wir können hier ein neues machen, zum Beispiel ein Schlafzimmer, und dann können wir ein anderes wählen, vielleicht einen Strand Dann hier, wenn wir diese Phase wählen, können wir uns die Kulissen ansehen, und das ist wie bei Kostümen, aber nur mit den Hintergründen Sie können also wählen, welchen Hintergrund Sie wollen, und dann wechselt er hierher, und Sie können natürlich auch vom Code hier, dem Hintergrund, wechseln , sodass er sich dynamisch ändert Also zuerst haben wir einen leeren Hintergrund, dann haben wir dieses Schlafzimmer und dann diesen Strand. Also wähle hier einfach die Bühne und dann hast du unter Kulissen all diese verschiedenen Hintergründe, genau wie bei den Also wähle ich wieder Ballon, unseren Sprite, und dann kannst du hier verschiedene Kostüme haben Also zuerst wird einer der Ballon sein. Sie können die Reihenfolge hier auch ändern, indem Sie sie ziehen. Wir können es hier auf dieses Mädchen ändern. Hier mit Kulissen ist es fast genauso. Wählen Sie einfach die Bühne aus, und dann haben Sie all diese Hintergründe hier Lösche auch. Jetzt den letzten, den wir nicht löschen können. Nehmen wir einfach noch einen, vielleicht blauen Himmel, der zu unserem Ballon passt. Wir haben also einen Ballon über blauem Himmel. Das ist irgendwie nett. Also habe ich es einfach so gelassen. Und hier in den Kulissen hast du fast die gleichen Möglichkeiten wie zum Beispiel für die Kostüme deines Ballons Fast das Gleiche oder es ist dasselbe. Du kannst hier auch das Kostüm benennen oder die Kulisse benennen. Das war's für Bühne und Kulisse. Fast wie ein Sprite. Du hast die Sprites und dann hast du die Bühne, und die Bühne kann verschiedene Hintergründe haben, die du dann während des Spiels wechseln kannst Okay, das sind die Abschnitte, und natürlich dieser sehr wichtige Abschnitt, dieser sehr wichtige Abschnitt, du kannst das Spiel hier mit dieser Flagge starten Wenn du also auf die Flagge drückst, wird das Spiel ausgeführt Im Moment gibt es keinen Code, also muss hier nichts ausgeführt werden. Also bleibt es einfach so. Aber wenn wir Code hinzufügen, wirst du feststellen, dass du hier auch die Stopp-Schaltfläche hast , mit der du das Spiel beenden und die Ausführung des Codes stoppen kannst das Spiel beenden und die Ausführung des Codes stoppen . Im Moment haben wir keinen Code. Das macht also nichts, und du kannst es hier auch ein bisschen kleiner machen oder es etwas größer machen oder es sogar im Vollbildmodus machen. Sie haben hier also ein Spiel im Vollbildmodus, fast im Vollbildmodus. Sie haben hier natürlich immer noch diese Schaltflächen, das Spiel zu starten und zu beenden, und dann eine Schaltfläche, um den Vollbildmodus hier zu verlassen. Okay, das ist deine Leinwand, deine Spielfläche hier, auf der all deine Spielgrafiken gerendert werden. Das ist im Grunde alles für die Benutzeroberfläche von Scratch des Scratch-Editors hier. Und du hast auch diese Menüs hier. Das ist wirklich wichtig deine Datei, damit du ein neues Spiel machen kannst, und du kannst auch etwas von deinem Computer laden, von deiner Festplatte, oder du kannst es speichern. Und das ist sehr wichtig. Du solltest das Spiel immer hier speichern. Dann wird es in deinen Download-Ordner heruntergeladen , und dann kannst du es später mit diesem Menü hier erneut hochladen , vom Computer laden. Sie können diese Datei dann erneut hochladen und dann haben Sie wieder Ihr komplettes Spielprojekt. Und hier kannst du das Kostüm restaurieren. Also habe ich zum Beispiel den Sprachhintergrund gelöscht, und dann kann ich ihn hier wiederherstellen. Machen Sie also das Löschen dieses Hintergrunds hier rückgängig. Und auch von deinen Sprites, vielleicht kann ich, wenn ich das Sprite lösche, das Sprite löschen, und dann kann ich das Sprite wieder wiederherstellen Das war's also für den kurzen Überblick über den Scratch, den ich hier habe, und wir werden auf jeden Abschnitt genauer eingehen , natürlich in eingehen , natürlich Das wird der Hauptteil sein , mit dem ihr euch befassen müsst, aber natürlich auch Kostüme für Animationen und andere Dinge. Und die Sounds werden auch wichtig sein und natürlich auch der Hintergrund. Aber am wichtigsten wird der Code sein, denn das ist der Ort, an dem du dein Spiel tatsächlich programmierst und es dynamisch, interaktiv und natürlich unterhaltsam machst. 4. 04 Erstes Spiel, erster Code: Also fangen wir mit unserem ersten Spiel an und dieses Spiel wird ein Ballonspiel sein, es geht also darum, dass Luftballons aufsteigen und sich von unten nach oben bewegen , sodass ich es hier mit der Maus zeigen kann . Sie sollten sich bewegen oder dieser eine Ballon sollte sich von hier aus bewegen Nach oben, und dann sollte er verschwinden, und der Spieler muss darauf klicken , damit er platzt, so etwas in der Art. Und dann sollte er Punkte bekommen, oder sie sollte dafür Punkte bekommen. Also sollte es am Ende auch mehrere Ballons geben, und je mehr Luftballons du platzen lassen kannst, desto mehr Punkte bekommst du. Das ist also unsere Herausforderung hier. Also müssen wir diesen Ballon von unten bewegen. Platziere ihn vielleicht in einer gleichmäßigen Bewegung von hier nach oben, würde ich sagen. Das ist unsere erste Herausforderung und wir können das schaffen. Wir können dies erreichen, indem wir einen Codeausschnitt oder ein Skript verwenden, sozusagen ein Programm Wir müssen hier programmieren. Das ist unser erstes Programm, das wir haben. Und das ist die Startposition unseres Ballons hier. Wenn du also mitmachen willst, dann platziere den Ballon einfach irgendwo hier, vielleicht, dann sollte das okay sein. Wie können wir dann unseren Code starten? Wie können wir unser Skript starten? In den meisten Fällen möchten Sie es mit einem Ereignis beginnen. In diesem Fall ist es also das Startereignis. wenn der Spieler auf Start oder Go here auf der Flagge klickt, erhalten wir dieses Event. Und was bedeutet das? Also immer wenn auf die Flagge geklickt wird, der Code, der sich hier darunter befindet, ausgeführt Also habe ich das gezogen, wenn ich aus den Ereignissen geklickt habe. Gehe zur Kategorie Ereignisse, und dann ist der allererste Block hier der , wenn ich auf die grüne Flagge geklickt habe, und das ist wie „ Lauf, starte das Das bedeutet, dass jedes Mal , wenn das Spiel gestartet wird, Go geklickt wird, dass der Code, der sich hier befindet, ausgeführt wird Das machen wir jetzt. Wir fügen hier einen weiteren Block hinzu. So codiert man in Scratch. Sie fügen also diese Blöcke hier hinzu, also können wir uns hier zum Beispiel bewegen und dann sagen, gehen wir zum Beispiel an eine zufällige Position, nur um sie zu zeigen. Also, wann immer dieser Start-Knopf angeklickt wird, gehe zu einer zufälligen Position. Was bedeutet das? Der Ballon bewegt sich an eine zufällige Position. Mal sehen, wie das aussieht. Also klicken wir auf Los und wir sehen dieser Ballon fliegt. Er wird hier an einer zufälligen Position platziert. Wir können es noch einmal machen, und jedes Mal ist es eine andere Position, eine zufällige Position. Das ist natürlich nicht das, was wir wollen, weil wir eine Bewegung von unten nach oben wollen. Und so macht ihr das nicht, sondern nur, um euch zu zeigen, wie hier programmiert wird. Wir müssen diese Blöcke hier stapeln. Danach können wir vielleicht dasselbe tun. Zum Beispiel können wir das zweimal machen. Das macht keinen Unterschied weil es an eine zufällige Position geht, aber du wirst es nicht sehen, weil es direkt danach an eine andere zufällige Position geht. Das ist nicht sehr gut oder es ergibt keinen Sinn. Was machen wir? Wir können hier zwischendurch eine Verzögerung einlegen. Gehen wir zur Kontrolle. Und dann sehen wir, dass der erste Block hier unter Kontrolle ist, das Gewicht ist. Das ist es, was wir wollen. Kontrolliere das Gewicht und dann ziehe ich das hier her. Du siehst das Knacken hier. Das wird hier einrasten und es ist ein bisschen grau, sodass Sie sehen, dass es, wenn Sie es fallen lassen, an dieser Position hier endet, unter der Position „Gehe zu zufällig Dann wird es eine Sekunde unter das Gewicht gelegt. Wenn du das auseinandernehmen möchtest, kannst du es einfach wegziehen Und dann werden alle Blöcke , die sich hier darunter befinden, der erste, auf den Sie geklickt haben, verschoben, und dann können Sie ihn hierher ziehen Und dann wird es nicht mehr ausgeführt , weil es hier keine Verbindung zu diesem Ereignis Wenn ich also einfach ein Spiel starte, kein Code ausgeführt, weil hier nichts drunter ist. Also muss ich das damit verbinden , wenn ich klicke. Schon wieder. Und jetzt können wir sehen, dass der Ballon zuerst an eine zufällige Position geht und dann 1 Sekunde wartet und dann zu einer anderen, einer anderen Position geht Das ist also auch nicht das, was wir wollen. Wir wollen eine kontinuierliche Bewegung. Also lass uns das hier loswerden. Wie man es loswird, wie man es löscht, man kann mit der rechten Maustaste darauf klicken und dann den Block löschen. Das würde also nur den einen Block löschen, auf den Sie geklickt haben, und dann können Sie hier jeden Block löschen Aber bequemer ist es , es einfach hierher zur Seite zu ziehen und es dann hier abzulegen, und dann ist es auch weg Und Sie bewegen sich auf dieser Leinwand hier, Ihrem Codebereich, indem Sie hierher ziehen, sodass Sie sehen können. Sie können natürlich auch das Mausrad verwenden, oder Sie können ziehen, und dann können Sie hier verschiedene Positionen erreichen, und Sie können mit diesen Schaltflächen hier mit der Lupe hier auch hinein- und herauszoomen mit diesen Schaltflächen hier mit der Lupe hier auch hinein- und herauszoomen . Und dadurch werden die Position und der Zoom hier zurückgesetzt. Dieser Knopf. So navigierst du hier im Codebereich. Also lass uns das hier drüben hinstellen. Und was tun wir, um das Ding hierher zu bringen. Was wir tun können, ist, lass es uns wieder hier platzieren, vielleicht hier, was wir tun müssen. Zuerst müssen wir den Ballon wieder an dieser Position positionieren weil das die Startposition ist, aber wenn das Programm den Ballon bewegt, wird er vielleicht hier landen und dann bleibt er einfach dort. Also müssen wir es jedes Mal zurücksetzen, wenn auf Go geklickt wird. Also müssen wir die Startposition festlegen. Und wie machst du das? Zieh es einfach dahin, wo du es haben willst? Also vielleicht, zum Beispiel hier, und dann haben wir hier das X und das Y, und das können wir jetzt verwenden. Lassen Sie uns also zur Bewegung übergehen. Dann gehen Sie zu X, gehen Sie zu Y, und das verwenden wir hier, wir gehen zu X, gehen zu Y und verwenden diese beiden Koordinaten hier. Praktischerweise sind diese hier bereits ausgefüllt, sodass wir nichts ändern müssen. Ziehen Sie diesen Block einfach hierher, bis Sie auf Go geklickt haben, und alles wird auf diese Position hier eingestellt Ich kann es jetzt auf vielleicht hier ändern. Wenn ich dann auf Go klicke, wird es auf diese Startposition zurückgesetzt. Das ist gut. Das brauchen wir auch. Jetzt müssen wir den Ballon nach oben bewegen, und genau das machen wir im nächsten Video. Aber hier bei der Bewegung sind diese Blöcke alle dazu da, deinen Sprite zu bewegen oder deinen Sprite zu drehen Hier hast du zum Beispiel den Rotationsstil festgelegt, sodass du von links nach rechts wechseln kannst, vielleicht nicht drehen oder rundum drehen In einem Winkel wird das eher wie Spiegeln sein , wie hier, das ist Spiegeln oder Spiegeln, das ist eine Drehung, und das ist keine Drehung und das ist keine Und das Gleiche hier, Sie können diesen Stil auch hier einstellen Das ist das Gleiche wie hier. Dies ist nur ein Beispiel, und Sie können auch etwas verwenden, wie zum Beispiel y auf eine Position setzen oder x auf eine Position setzen, oder Sie können beide in einem Block setzen. Sie können auch zu einer zufälligen Position gleiten. Wir können das vielleicht versuchen, es auf eine Startposition setzen und danach gleiten wir einfach etwa 4 Sekunden zu einer zufälligen Position oder zum Mauszeiger können wir auch machen. Lass uns das versuchen. Das ist eigentlich nicht das, was wir wollen, aber lass es uns trotzdem versuchen und sehen, wie das aussieht. In 4 Sekunden bewegt sich dieser Ballon an eine zufällige Position. Also jedes Mal, wenn ich hier anfange, wird er an eine andere Position gehen, aber es dauert immer 4 Sekunden, um dorthin zu gelangen. Das ist ganz nett. Wir könnten es vielleicht benutzen und dann muss der Benutzer darauf klicken, um die Punkte zu bekommen. Aber ich weiß es nicht. Vielleicht ist es nicht so interessant, das Spiel so zu machen. Aber das könnten wir gebrauchen. Aber das wird ziemlich einfach sein. Wie dem auch sei, wir müssen den Ballon verstecken , wenn er hier die zufällige Position erreicht. Andernfalls wäre es für das Spiel zu einfach, darauf zu klicken. Wir können es vielleicht nach 4 Sekunden verstecken, oder vielleicht machen wir es nach 2 Sekunden und dann wird es schneller sein. Hier, und das wird schneller sein. Aber es hängt natürlich auch von der Position selbst ab. Wenn die Position nicht sehr weit von der Startposition entfernt ist , wird sie langsam sein, wenn sie sehr weit von der Startposition entfernt ist, dann ist sie schnell. Es wird einfach sein, darauf zu klicken und es ist ein bisschen schwieriger, so oder vielleicht so. Wir können es auch auf 1 Sekunde reduzieren, oder wir können auch Dezimalzahlen wie zum Beispiel 1,5 verwenden . Das ist ein bisschen schneller, weil es ein langer Weg bis zum Ballon war, weiterer langer Weg und dieser ist ein kurzer Weg. Lassen Sie uns den Ballon verstecken, wenn er hier die zufällige Position erreicht hat. Wie machen wir das? Das ist unter der Kategorie Aussehen. Lass uns zu Ls gehen und hier am Ende, fast am Ende, musst du dich ein- und ausblenden. Das brauchen wir. Ziehen Sie das Fell einfach nach dem Gleiten an diese Position, und wenn es diese zufällige Position erreicht, sollte es sich verstecken Lass uns das versuchen. Jetzt verschwindet es. Lass es uns nochmal machen. Okay. Du siehst also, dass du nichts siehst. Es ist weg. Es ist versteckt. Und warum ist das so? Seien wir, wir haben es versteckt. Mit diesem Ausblenden werden Sie es also ausblenden und es wird nicht wieder eingeblendet. Aber wir können das tun, indem wir Show oder Drag Show hier an den Anfang verschieben. Wenn Sie also auf Go klicken, zeigen Sie den Ballon an, gehen Sie dann zur Startposition und gleiten Sie dann zu diesen zufälligen Positionen hier und verstecken Sie dann den Also lass uns das versuchen. Also wird es gezeigt. Es geht zur Startposition und gleitet dann zur zufälligen Position Und dann ist es versteckt. Und jedes Mal, wenn ich auf G klicke, wird es erneut angezeigt, und das wird hier ausgeführt. Natürlich wird der Code immer von oben nach unten ausgeführt. Das ist also das Startereignis, wenn auf Go geklickt wird, dann gibt es Zeigen, Gehe zu X und Y, Startposition, dann gleiten Sie in dieser Zeit zu einer zufälligen Position und verstecken Sie sich dann Also das ist okay. Wir könnten das als Ausgangspunkt für unser Spiel verwenden. Wahrscheinlich werden wir es nicht so belassen, aber es ist irgendwie ein Anfang. Dann müssen wir natürlich dafür sorgen, dass der Spieler auf den Ballon klicken kann, und dann wird er gestoppt, und dann bekommt der Spieler dafür Punkte. 5. 05 Verbesserung der Ballonbewegung: Wir setzen unser Spiel fort und im letzten Video haben wir unseren Ballon von dieser ersten Position zu einer zufälligen Position bewegt, und wir haben hier dieses kleine Skript gemacht, und das ist unser erstes Programm oder erstes Skript. Immer wenn auf die Starttaste geklickt wird, zeigen wir diesen Ballon, dann gehen wir zu dieser Startposition des Ballons Das sind -207 und f x und -200 534, y, und dann gleiten wir von dort Dies wird bei jedem Start des Spiels immer eine andere Position sein und die Zeit, die benötigt wird, um zu dieser Position zu gleiten, dieser Position Wenn es dann die Position erreicht, verstecken wir den Ballon Ich möchte das hier, das Gleiten zu einer zufälligen Position, mit einem ähnlichen Block austauschen das Gleiten zu einer zufälligen Position , und das ist dieser Ich habe das schon vorbereitet. Also das ist das Gleiten in Sekunden zwei x und y. Es gibt hier eine vordefinierte Position, zu der wir gleiten können, und es wird nicht die zufällige Position sein Weil das Problem mit der Zufallsposition darin besteht, dass es manchmal schwieriger und manchmal einfacher ist schwieriger und manchmal einfacher den Ballon zu treffen oder auf den Ballon zu klicken, weil es darum geht, den anzuklicken oder alle Ballons anzuklicken , die man kann, bis sie alle weg sind Das ist das Problem mit der zufälligen Position. Sie gehen nicht nach oben, sondern vielleicht in diese Richtung oder Richtung oder was auch immer. Es ist nicht klar, wohin die Ballons mit der zufälligen Position gehen, also tauschen wir sie gegen eine feste Position aus. Das ist der Block für die feste Position, und ich ziehe das Fell hier weg und das Glide auch, und wir können diesen Gleitblock loswerden indem wir ihn einfach hierher ziehen und Dieser Block ist gelöscht. Jetzt können wir diesen Block nehmen, ihn hier platzieren, sodass er dort einrastet, und dann den Block zum Ausblenden wieder zurücklegen , sodass wir ihn so haben Lass uns das Spiel starten und sehen, wie es aussieht. Siehst du, jedes Mal, wenn ich das Spiel starte, ist es immer dieselbe Bewegung. Der Ballon steigt immer in 2 Sekunden auf diese Position hier drüben, und es ist immer dasselbe. Das ist viel besser, weil der Ballon nur nach oben fährt, aber es ist auch einfacher, weil Sie bereits wissen, woher der Ballon aber es ist auch einfacher, weil Sie bereits wissen, woher der Ballon fliegt und wohin er geht. Das Spiel ist ziemlich einfach zu spielen, aber wir werden mehr Ballons haben, nicht nur einen Ballon, wird etwas schwieriger , alle Ballons zu treffen. Vielleicht ist das schon okay und schon ein lustiges Spiel. Aber wir brauchen etwas , das hier zufälliger ist. Nehmen wir an, es ist nicht die Zielposition des Ballons, sondern es kann auch die Startposition sein. Die Startposition, die X-Position hier, könnte zufällig sein, und der Ballon würde dann vielleicht einmal von hier aus starten, einmal von hier aus. Das würde von der Position abhängen , die dann zufällig ausgewählt wird. Wie machen wir das? Wir benötigen eine Zufallszahl für die X-Koordinate. Lassen Sie uns überprüfen, wie das gemacht wird. Wir gehen hier zu den Operatoren und da haben wir schon zufällig eine Zufallszahl dazwischen ausgewählt und dann können Sie festlegen , zwischen welchen beiden Zahlen die Zufallszahl ausgewählt werden soll. Ziehen wir das hier auf unsere Leinwand, unser Script Canvas, und dann können wir es irgendwo hier in diesem Block platzieren. Wir können es hier platzieren, um zu X zu gelangen, und dann dieses Feld hier. Lass es uns versuchen. Wir ziehen es hierher und lassen es dann los und jetzt haben wir es in unserer X-Koordinate. Die X-Koordinate wird 1-10 sein. Das ist nicht sehr gut, sagen wir vielleicht -200 102 plus 210, das wird der Bereich sein Lass uns das versuchen. Lass uns anfangen und dann haben wir eine zufällige Startposition. Das ist nett. Manchmal fängt es von hier aus mit dem X hier oder vielleicht dort drüben an. Der Spieler weiß also nie, von wo aus der Ballon startet. Das ist besser. Aber auch die Zielposition ist immer dieselbe, und das ist hier ein Problem, weil wir immer wissen, dass der Ballon hier rüber fliegen wird. Das ist die Zielposition also können wir unseren Mauszeiger hier platzieren, und dann könnten wir genau hier klicken, wenn es um diese Position hier geht. Das ist nicht so nett, also müssen wir das Ziel x hier auf den gleichen Wert wie in diesem Jahr setzen. Wir könnten dafür eine Variable verwenden und dieser Zufallszahl zwei zuerst eine A-Variable zuweisen und diese Variable dann an diesen beiden Stellen verwenden. hier in diesem Block zuerst Gehen Sie hier in diesem Block zuerst zu x und dann zu variabel, und dann gleiten Sie in 2 Sekunden zwei x und dann die Variable Aber wir werden das nicht tun, weil es ein bisschen fortgeschritten ist und ich werde es in einem späteren Kapitel mit Variablen Hier machen wir etwas anderes. Da ist ein Block, ein weiterer Block, der bewegt wird, und das ist dieser Block hier, X-Position, und Sie können diese X-Position hier an eine beliebige Stelle in diesen abgerundeten Feldern ziehen . Zum Beispiel hier in diesem X-Feld, also gleiten Sie in 2 Sekunden zwei X- und dann X-Position. Was ist Position X-Position ist die Ex-Position des Sprites zu diesem Zeitpunkt, an dem es diesen Block hier Dies wird immer aktualisiert, wenn sich der Ballon bewegt. Oder ändert sich seine X-Position, dann ist dies immer die aktuelle X-Position. Und Sie können es auch anzeigen, indem Sie einfach hier auf diese Checkbox klicken. Wenn Sie das hier überprüfen, wird es hier angezeigt, und dann können wir immer den aktuellen Wert der X-Position der Ballons sehen . Okay, was haben wir jetzt? Wir gehen hier zu einer zufälligen X-Position und zu einer festen Y-Position. Die Y-Position wird also -253 sein und die X-Position wird zufällig sein Das bedeutet also, dass der Ballon irgendwo zwischen hier und hier beginnt Und dann geht es zu dieser Y-Position -253 und behält dann die X-Position Also setzen wir die X-Position hier mit dieser Zufallszahl, und dann wird diese X-Position dieselbe sein Es bleibt gleich, also wird es später nicht geändert. Es wird immer so sein hier. Dadurch setzen wir die X-Position auf eine Zufallszahl, und das wird dann in diesem Block hier in diesem Positionsblock sein . Der Ballon wird also immer hochgehen. Und hier können wir auch sehen. Sie können dies auch an eine beliebige Stelle hier ziehen. Wir können auch sehen, dass dieses X immer dasselbe sein wird, aber es wird zu Beginn des Spiels zufällig festgelegt. Also dieses Mal war es -166, und das nächste Mal ist es -107, und das nächste Mal ist es Aber hier gleiten wir zu derselben X-Position, an der wir zufällig hergefahren Okay, ich denke, das ist klar, sollte klar sein. Also dieses x behält hier nur die X-Position und das Y und die Zielposition 200 bei. Und so ist das quasi das Spiel, das ich am Anfang im Sinn hatte. Wir haben also einen Ballon, der an einer zufälligen Position beginnt und direkt nach oben geht, und dann muss der Benutzer oder der Spieler darauf klicken. Wir können also auch in den Vollbildmodus gehen und sehen, wie das aussieht, also starten wir das Spiel, und dann muss der Benutzer darauf klicken, dann sollte es verschwinden und der Benutzer erhält dafür Punkte. Im Moment haben wir also nur einen Ballon, nicht sehr interessant, aber wenn wir, sagen wir, fünf Ballons haben . Es wird ziemlich schwierig sein, alle Ballons anzuklicken , bevor sie das Ziel hier erreichen. Okay, das war's für unsere Verbesserung der Ballonbewegung, und ich denke, wir können es so belassen und wir können einfach mehr Ballons herstellen. Und dann wird die Bewegungslogik hier natürlich dieselbe sein. Aber bevor wir das tun, müssen wir die Klicklogik so implementieren , dass , wenn der Spieler auf den Ballon klickt , dieser verschwindet und der Benutzer dann zum Beispiel Punkte erhält. Okay, lass uns das im nächsten Video machen. 6. 06 Das geklickte Ereignis: Jetzt, wo wir die Bewegung der Luftballons vorgenommen haben, kann ich sie hier noch einmal zeigen Der Ballon bewegt sich aus einer zufälligen horizontalen Position direkt nach oben und verschwindet dann Verschwindet hier außerhalb der Grenzen. Jetzt, wo wir das haben, fehlt eine wichtige Sache natürlich, dass der Spieler auf den Ballon klicken muss und der Ballon dann verschwindet und der Spieler Punkte bekommt Das ist ziemlich einfach. Wir brauchen nur zwei Blöcke für das Klicken und dann das Ausblenden des Ballons, und den ersten Block finden wir hier in Events, denn das Klicken auf den Ballon dieses Sprites hier ist ein Ereignis Wir haben das, wenn Flag, wenn Go schon hier angeklickt wird, aber da drunter ist, wenn dieses Sprite geklickt hat, und hier haben wir es auch, wenn Das ist für Tastatur-Events, aber das hier ist für das Click-Event Wir ziehen das hier in unseren Canvas und dann haben wir dieses Ereignis. Wenn auf dieses Sprite geklickt wird, gehen Sie wie folgt vor und was hier getan werden muss, wir müssen das Sprite hier verstecken Das ist sehr einfach. Das hatten wir schon. Wir haben hier zeigen und am Ende verstecken wir uns wieder, wir schauen nochmal nach und dann verstecken wir uns hier. Ziehen Sie das Verbergen einfach an diese Position und wir können es versuchen. Also lass uns gehen. Und dann klicken wir darauf. Oh, ich habe es hier verpasst. Aber jetzt habe ich es geschafft , darauf zu klicken und du siehst, dass der Ballon hier verschwindet, versteckt ist. Okay. Lass es uns nochmal machen. Diesmal war ich also besser vorbereitet. Also ist es nicht sehr schwierig , den Ballon zu treffen. Aber wenn Sie hier, sagen wir, fünf Luftballons haben, alle an zufälligen Positionen, dann ist es vielleicht etwas schwieriger. Das ist also ziemlich einfach. Wir können auch den Vollbildmodus verwenden und ihn dann unter realen Spielbedingungen testen. Mit einem Ballon ist das ganz einfach. Wir können natürlich auch eine höhere Geschwindigkeit verwenden , eine höhere Geschwindigkeit. Wie machen wir das? Wir ändern hier einfach die Zeit, die Zeitspanne gleiten von 2 Sekunden auf x, also können wir sie ein bisschen kürzer machen als 2 Sekunden, 1,5 Sekunden, und dann sollte die Geschwindigkeit schneller sein, und das können wir auch verwenden Versuchen wir es mit 1 Sekunde, dann wird es ziemlich schnell sein, und dann wird es auch sehr schwierig sein, es zu erreichen Lass uns sehen. Ich habe es geschafft. Also, den habe ich verpasst, schon wieder. Lass es uns nochmal machen. Ja. Das ist ziemlich schwierig. Vielleicht ist es zu schwierig, aber lassen wir es einfach so. Und jetzt haben wir die grundlegenden Spielmechaniken eingerichtet. Der Ballon beginnt aufzusteigen, und dann können wir ihn anklicken und er verschwindet dann. Vielleicht möchten wir später eine Animation hinzufügen , damit der Ballon platzt. Im Moment ist es nur hier mit diesem Block versteckt. Also jedes Mal, wenn das Sprite angeklickt wird, ist der Ballon Was wir jetzt tun müssen, ist natürlich, der Spieler dafür Punkte bekommen muss , damit der Spieler am Ende, wenn alle Ballons weg sind, sehen kann, wenn alle Ballons weg sind, sehen kann, wie viele Punkte er oder sie Das wird im nächsten Video reichen , weil es nicht ganz so einfach ist. Dafür müssen wir Variablen verwenden. Ich habe bereits Variablen erwähnt, aber das ist ein ziemlich wichtiges Konzept, also wird es in einem zusätzlichen Video sein, und dann können wir auch die Punkte zählen und dann den Punktestand anzeigen. 7. 07 Spiele Sound und zähle die Partitur: Nachdem wir unseren Ballon versteckt haben und der Spieler darauf klickt, müssen wir den Punktestand zählen. Aber zuerst werde ich hier eine weitere Funktion vorstellen, also müssen wir hier ein bisschen Ton abspielen , wenn der Ballon platzt, dann müssen wir einen Pop-Sound abspielen Die Sounds, die Sie hier unter der Kategorie Sounds haben, ziehen Sie diesen Block einfach hierher unter die Höhe Nach der Höhe müssen wir hier einen Sound abspielen. Das ist die E-Gitarre. Das ist nicht der richtige Sound, also müssen wir ihn auf Pop umstellen, und dann können Sie hören, dass das einen schönen Pop-Sound abspielt. Wenn der Spieler auf den Ballon klickt, wird dieser Sound abgespielt, also lasst uns versuchen, gut zu funktionieren. Okay, das war's für den Moment mit dem Sound Lassen Sie uns hier auf Variablen und das Zählen der Punkte eingehen. Was sind Variablen und warum brauchen wir sie hier? Zumindest brauchen wir hier eine Variable, und wir mussten die Punktzahl zählen. Jedes Mal, wenn der Spieler auf den Ballon trifft, lässt der Ballon platzen , dann sollte es, sagen wir, zehn Punkte zur Punktzahl addiert werden und die Punktzahl sollte irgendwo angezeigt werden Wir haben hier bereits eine Variable und sie wird hier bereits angezeigt. Das ist die Ausstellung des Ballons, haben Sie ihn hier. Und wie haben wir es bekommen? Es ist hier in Bewegung, also Kategorie Bewegung, und dann haben wir dieses Kontrollkästchen, das es anzeigt. Wir können auch die Y-Position und auch die Richtung anzeigen . Fügen wir einfach all diese und wir kehren zu unseren Variablen zurück. Dies sind ebenfalls Variablen, aber wir können die Variablen nicht setzen. Wir können den Wert dieser Variablen hier nicht direkt ändern . Das ist hier systemintern. Aber es ist einer Variablen ähnlich, weil das hier für einen Wert und einen Wert steht, der sich ändern kann. Wir können das überall verwenden , wo sich diese abgerundeten Felder befinden. Wir können es einfach dort ablegen, und das ist ein Platzhalter für einen Wert Dieser -210 ist zum Beispiel ein Wert. Dies ist ein fester Wert. Wir wissen, was der Wert ist, -210. Aber hier ist nicht klar, welche Position das sein wird , ist erst zur Laufzeit klar oder wird erst zur Laufzeit definiert Im Moment wird die Position noch festgelegt . Wir können es auch hier anzeigen, aber wenn wir das Spiel starten, wird sich das ändern. Variabel. Außerdem steht der Name natürlich für Variablenwert, also kann er sich ändern und er muss sich ändern, damit er wirklich nützlich ist. Eine Variable ist ein Platzhalter für einen Wert, der sich ändern wird, das ist variabel Lassen Sie uns unsere eigene Variable erstellen, und wir müssen sie irgendwie benennen Also erstellen wir eine neue Variable namens score. Eine Variable erstellen ist die Schaltfläche hier. Gehen Sie hier zu Variablen, den Kategorievariablen. Wir haben schon einen hier. Sie ist vordefiniert. Wir können diese Variable auch löschen , weil wir sie nicht benötigen. Klicken Sie also mit der rechten Maustaste auf diese vordefinierte Variable und löschen Sie die Variable my variable. Lassen Sie uns eine neue Variable erstellen. Und dann können wir einen Namen wählen. Also wählen wir den Namen Score. Wir können es auch so schreiben. Dann können Sie auch entscheiden, ob diese Variable für alle Spride oder nur für diesen Spride gilt oder nur für diesen Spride Ich würde sagen, da wir mehr als einen Spride haben, sollten wir die Score-Variable hier für alle Sprides definieren . Was bedeutet das? Der Punktewert wird für alle Sprits verfügbar sein, nicht nur für diesen Sprid Das wollen wir, nicht nur für dieses Set, wir wollen es Vielleicht wollen wir es in einem anderen SPR verwenden , vielleicht in einem Skript für ein anderes Spride, also definieren wir es für Auf K, und jetzt haben wir diese Variable hier unter Variablen, und sie sieht ähnlich aus wie diese Bewegung, X-Position hier, Y-Position. Ich habe auch hier abgerundet, das abgerundete Rechteck, die abgerundeten Ecken , das ist blau, aber das ist orange, also ist das unsere eigene Variable. Wir können diese Variable überall in diesen abgerundeten Feldern verwenden , zum Beispiel hier, hier, hier, hier Wir können sehen, dass wir sie hier überall ablegen können. Okay, diese Checkbox ist auch hier, also kannst du den Wert, den aktuellen Wert dieser Variablen auch anzeigen , indem du hier klickst, und dann erscheint sie im Spiel. Lasst uns diese Ballonposition loswerden. Also entferne einfach die Checkbox hier. Das brauchen wir nicht mehr. Aber das Ergebnis sollten wir anzeigen, also lassen Sie das Kästchen hier angekreuzt. Jetzt haben wir die Punktzahl hier angezeigt, aber sie ist Null. Dies ist der Standardwert, der Anfangswert. Und wenn wir auf den Ballon klicken, hören wir das Geräusch. Aber der Punktestand bleibt natürlich gleich. Jetzt, wo wir unsere Variable haben, können wir sie verwenden. Wir können den Wert zur Laufzeit ändern. Dafür sind diese Blöcke da. Dies ist einer der Blöcke, die die Punktzahl festgelegt haben, in diesem Fall 20, oder Sie können die Punktzahl mit diesen beiden Blöcken um eins ändern. Sie können den Wert der Variablen ändern. Was brauchen wir? Welchen dieser Blöcke brauchen wir jetzt? Nun, wir brauchen den zweiten, weil der erste die Punktzahl auf einen festen Wert setzt, aber wir müssen den Punktewert um einen bestimmten Betrag erhöhen . Lass uns diesen Block benutzen, ihn hierher ziehen. Direkt darunter, sagen wir nach dem Verstecken. Lass es einfach hier fallen. Ändere den Punktestand um eins. Mal sehen, was das macht und um es mir ein bisschen einfacher zu machen, werde ich diese Zeit hier ändern oder erhöhen, vielleicht sagen wir 5 Sekunden, und das wäre dann sehr einfach , weil der Ballon sehr langsam ist. Lass es uns platzen lassen und du siehst, wir haben zwei. Warum haben wir zwei? Weil jedes Mal, wenn ich hier darauf klicke, wird es größer, und ich habe nur einmal darauf geklickt, und dann habe ich das Spiel gestartet und den Ballon platzen lassen Also haben wir zwei. Aber natürlich müssen wir den Punktestand zu Beginn des Spiels zurücksetzen. Das ist es also, was wir tun müssen. Dafür müssen wir hier den ersten Block verwenden. Also setze die Punktzahl auf Null, was schon kag ist, setze sie hier kurz nachdem auf Go geklickt wurde, lass sie hier fallen, und dann wird die Punktzahl hier auf Null gesetzt Also jedes Mal, wenn wir das Spiel starten, beginnen wir natürlich mit einer Punktzahl von Null Und dann lassen wir den Ballon platzen und wir haben einen. Da wir also nur einen Ballon haben, kann ich im Moment nicht mehr als einen Ballon erreichen. Aber wie dem auch sei, das funktioniert hier gut. Also, wenn ich den Ballon platzen lasse, kriege ich eine Punktzahl von eins. Wenn wir also zwei Luftballons hätten, könnte der Spieler eine Punktzahl von zwei erzielen. So benutzt man Variablen. Sie können die Variable um einen bestimmten Wert ändern. In diesem Fall eins, ich kann auch vielleicht zehn verwenden. Wenn ich also den Ballon platzen lasse, erhalte ich zehn Punkte, kein großer Unterschied, aber vielleicht gibt es größere Ballons die dem Spieler nur fünf Punkte einbringen, also kannst du zehn und dann fünf für die größeren verwenden , weil sie leichter zu treffen sind. Das war's für Variablen. Es ist nicht alles, was Sie über Variablen wissen müssen, sondern wie man sie benutzt. Sie können sie hier also auf einen bestimmten Wert setzen. Sie können es auch auf einen zufälligen Wert setzen. Sie können zum Beispiel vielleicht hier hingehen und zufällig 1—10 auswählen. Also leg es einfach hier ab. Und dann wird die Punktzahl auf eine Zufallszahl gesetzt, was in diesem Fall nicht sehr nützlich ist, aber um den Punkt zu zeigen. Das werden jetzt fünf sein und ein anderes Mal werden wir zehn sein, ein anderes Mal werden wir sechs sein. Wenn ich den Ballon platzen lasse, wird er hier um zehn erhöht. Wir können es hier auch zu einem festen Wert oder zu diesem zufälligen Wert verkaufen , und wir können es um einen bestimmten Betrag erhöhen. Oder wir können es auch um einen zufälligen Betrag erhöhen. Sie können diese Auswahl auch hier nach dem Zufallsprinzip in dieses Feld ändern. Lass uns das versuchen. Lass es fallen und wir bekommen vier Punkte, und dann bekommen wir drei Punkte. Und das nächste Mal bekommen wir neun Punkte. Nicht sehr nützlich hier, aber wie dem auch sei, das ist möglich. Lassen Sie uns das loswerden und hier zehn verwenden. Also jedes Mal, wenn wir den Ballon platzen lassen, lässt der Spieler den Ballon platzen, dann bekommt er oder sie hier zehn Punkte. 8. 08 Mehr Ballons machen: Unser Spiel funktioniert mit einem Ballon. Es ist nicht so interessant, auch nicht so schwierig, aber es funktioniert, und wir haben auch den Spielstand. Aber wir brauchen mehr Luftballons und wie machen wir das? Es ist ziemlich einfach. Wir müssen nur unseren ersten Ballon verdoppeln Klicken Sie mit der rechten Maustaste auf das S hier in der Liste. Also Ballon eins, Rechtsklick, doppelt und wir haben einen zweiten Ballon hier. Lass uns versuchen, was passiert, wenn wir das Spiel starten. Wir haben zwei Luftballons. Und wir können beide hüpfen. Und wir bekommen natürlich immer 20 Punkte als Punktezahl, weil wir immer die beiden Luftballons platzen lassen. Das ist also ganz nett , weil wir diesen Ballon gerade dupliziert und alles funktioniert Es war also nicht nötig, hier im Drehbuch etwas zu ändern , aber wir können vielleicht die Farbe des Ballons ändern Gehen wir zu Ballon zwei, der hier ausgewählt wurde, und dann gehen wir zu den Kostümen, und dann haben wir diesen blauen Ballon, genauso wie der erste, also müssen wir ihn hier ändern. Gehen wir zu dieser kleinen Schaltfläche hier, und dann wird sie um diese Liste erweitert , sodass wir ein neues Kostüm hochladen können. Wir können ein zufälliges auswählen, oder wir können es malen oder wir können ein Kostüm auswählen. Das machen wir. Lass uns ein Kostüm wählen und dann suchen wir hier nach Ballons, da haben wir die Luftballons. Wir haben schon den blauen Ballon. Verwenden wir hier einen gelben Ballon, und da haben wir den gelben Ballon. Wir können den ersten hier loswerden , das erste Kostüm hier in der Liste, weil wir hier nur diesen gelben Ballon brauchen. Das ist es. Jetzt haben wir zwei Luftballons, einen blauen, einen gelben, und lassen Sie uns ein Spiel beginnen. Damit es hier mit zwei Farben besser aussieht. Davon können wir natürlich mehr machen. Wir können es auch schwieriger machen Das Problem ist, dass wir jetzt zwei dieser Sprites hier ändern müssen zwei dieser Sprites hier weil jedes Sprite hier sein eigenes Skript hat, also müssen wir beide Skripte ändern Zum Beispiel sind 5 Sekunden hier ein bisschen zu viel, also setzen wir es auf zwei, aber jetzt müssen wir beide Skripte ändern, denn wenn ich nur das eine für den gelben Ballon ändere, dann haben wir es natürlich nur für den gelben Ballon geändert , nicht für den blauen. Wechseln wir also zur blauen und setzen wir sie hier auch auf zwei. Jetzt ist es in beiden Skripten in beiden Codes festgelegt, wir haben hier dieselbe Zeit oder dieselbe Geschwindigkeit. Das wird jetzt schwieriger, aber es ist immer noch machbar Aber wenn wir einen dritten Ballon hätten, wäre das wirklich schwierig Wir haben jetzt zwei Ballons, aber wir haben das Problem, dass wir das Skript für jeden Ballon hier ändern müssen , um Änderungen vorzunehmen, wie die Geschwindigkeit hier oder vielleicht, wenn wir den Sound hier auf einen anderen ändern wollen , einen, den wir hochgeladen haben, vielleicht. Wir können hier auch einen Ton aufnehmen. Wir müssen das hier zweimal machen. Das ist ein Problem. Im Moment besteht die Lösung darin, hier ein Sprite und ein Skript vorzubereiten Und wenn Sie wirklich sicher sind, dass dies das endgültige Skript ist, dann duplizieren Sie das Sprite Nehmen wir an, wir haben das endgültige Drehbuch hier. Hier muss nichts geändert werden. Dann können wir es duplizieren. Sagen wir, viermal. Lass uns jetzt das Spiel starten. Wir haben hier also drei gelbe Luftballons und einen blauen Ballon. Aber wir können hier natürlich auch das Kostüm des dritten ändern . Lass uns Kostüme anziehen. Wähle ein Kostüm. Suche nach einem Ballon. Da haben wir es. Nimm diesen lila. Nimm den ersten hier und hier. Nun, lass uns dasselbe tun. Sucht nach einem Ballon. Aber wir haben hier nur diese drei Farben . Das ist vielleicht ein Problem. Gehen wir also zurück und ändern die Farbe hier. Wählen Sie also den Ballon oder den Hauptteil des Ballons aus, und dann füllen wir ihn und ändern ihn ein wenig. Setzen wir es mehr ins Rote. Wir haben hier eine rötlichere Farbe, und Sie können diese auch ändern. Sie können sie zum Beispiel auch ein bisschen roter machen, so wie Ja, das ist okay. Natürlich kannst du hier auch das Kostüm wechseln oder du kannst ein anderes laden, wie du willst. Jetzt haben wir hier vier Luftballons und mal sehen, ob wir alle platzen lassen können. Nein, nicht erfolgreich. Gehen wir in den Vollbildmodus. Ja. 40 ist die maximale Punktzahl wir hier in diesem Spiel erreichen können, und das ist ganz nett. Aber wenn die Ballons vielleicht weiter voneinander entfernt sind , dann ist es nicht möglich, sie alle platzen zu lassen. Ich habe es geschafft. Ich habe einen verpasst. Ja. Jetzt habe ich alle Luftballons. Okay, ich würde sagen, das war's für unser erstes Spiel. Aber ich kann noch etwas tun, um hier die Anzahl der Sekunden zu konfigurieren. Jeder Ballon muss das Ziel erreichen. Wir können natürlich auch Variablen verwenden. Lassen Sie uns hier also eine neue Variable erstellen. Erstellen Sie hier eine Variable unter der Kategorie Variablen. Lassen Sie uns eine neue erstellen, und zwar auch für alle Sprites, weil wir sie in allen Sprites verwenden wollen Also nennen wir es Geschwindigkeit, nennen wir es einfach Geschwindigkeit. Es ist nicht genau, weil es eine Anzahl von Sekunden ist, aber nennen wir es trotzdem Geschwindigkeit, und niedriger der Wert, desto höher die Geschwindigkeit. Aber wie dem auch sei, ich denke, das ist okay. Wir müssen es hier nicht anzeigen, also können wir das Kontrollkästchen entfernen und dann ist es weg Was müssen wir tun? Wir müssen diese beiden hier ersetzen, 2 Sekunden gleiten, zwei x und y, wir müssen sie durch eine Variable ersetzen Also die Geschwindigkeitsvariable hier, also ziehen wir das hier rüber und lassen es dann fallen und wir haben Gleitgeschwindigkeit in Sekunden bis zu dieser Also müssen wir natürlich die Variable hier, den Variablenwert, auf, sagen wir, 1,5 setzen die Variable hier, den Variablenwert, auf, sagen wir, , und das können wir hier machen, wenn wir klicken Hier ziehen wir den Wert der Variablen auf zwei Werte, wählen dann Geschwindigkeit und geben hier im Wertefeld einfach 1,5 ein. Das ist es. Dieser Brite hier hat jetzt 1,5, diesen, also lass uns das überprüfen Einer ist schneller, weißt du, und das müssen wir für alle Ballons hier machen Jetzt müssen wir nur noch die Geschwindigkeitsvariable hier auf diese Seite legen . Das ist einfach, gehe zum lila Ballon und ziehe dann die Geschwindigkeitsvariable hierher, um zu gleiten, und dann für den gelben Ballon dasselbe und für den blauen auch Dann hat hier jeder Ballon die gleiche Geschwindigkeit. Lass es uns versuchen. Jetzt wird es wirklich schwierig, alle Luftballons platzen zu lassen, also versuchen wir es. Nur eins, auch eins, drei, das ist ein Highscore. Drei ist hier mein Highscore. Es ist fast unmöglich , alle vier zu machen. Wie dem auch sei, jetzt können wir diese Variable hier verwenden, und wir müssen auch den Wert der Variablen hier in die erste oder in die vierte hier in Ballon vier setzen. Wir können diese eingestellte Geschwindigkeit hier wirklich überall auf 1,5 setzen, aber wir müssen es nur in einem Sprite machen Lassen wir es dabei, und wir müssen die Punktzahl nicht in jedem Sprite auf Null setzen, also können wir das vielleicht auch loswerden Entferne es hier und entferne es hier. Sie können es auch dort belassen. Es ist nicht so wichtig, aber es ist nicht notwendig, es in jedem Sprite hier in jedem Skript festzulegen jedem Sprite hier in jedem Skript Also müssen wir es hier nur in einem Sprite setzen. Und das Gleiche gilt für Geschwindigkeit, Geschwindigkeit und Punktzahl im letzten Sprite hier im roten Sprite, und dann kann jedes andere Sprite diese Werte und dann kann jedes andere Sprite Lass es uns versuchen. Funktioniert. Wir haben hier an zwei Stellen Variablen verwendet. An erster Stelle stand diese Punktzahl, die jedes Mal um zehn erhöht wurde , wenn der Spieler einen Ballon trifft, einen Ballon platzen lässt, und der zweite Platz war hier das Gleiten und die Anzahl der Sekunden, die werden, um die Zielposition zu erreichen, sozusagen die Geschwindigkeit des Das war's für diesen Teil. Jetzt können wir das Spiel auch ein bisschen verbessern, zum Beispiel können wir für jeden Ballon eine zufällige Verzögerung verwenden, sodass sich nicht alle Ballons gleichzeitig bewegen . Das machen wir im nächsten. 9. 09 Hinzufügen von Verzögerung zu den Ballons: A. Lassen Sie uns das Spiel ein bisschen interessanter gestalten das Spiel ein bisschen interessanter indem wir jede Bewegung, jede Ballonbewegung um eine zufällige Zeit verzögern jede Ballonbewegung um eine zufällige Zeit Das machen wir, und das ist ziemlich einfach weil wir diesen Block hier haben. Unter Kontrolle. Gehen Sie zur Kategoriekontrolle und dann zum ersten Block, Gewicht in Sekunden. Das kann hier eine feste Zahl sein, zum Beispiel eine Sekunde, 2 Sekunden, was auch immer. Wir können das zuerst versuchen. Lass uns das mit dem Ballon vier auf dem rötlichen Ballon machen. Wir können es einfach hier einfügen. Oder vielleicht sollten wir es einfach hierher unter diese gesetzten Variablenblöcke verschieben . Bevor wir also mit der Bewegung beginnen, warten wir 1 Sekunde und lassen uns überprüfen, was das bewirkt. Und wir sehen, dass der rote Ballon 1 Sekunde verzögert ist. Das ist einfach. Aber das ist nicht sehr interessant denn jedes Mal, wenn wir ein Spiel starten, dauert es immer 1 Sekunde, also ist es vorhersehbar. Wir wollen nicht, dass das vorhersehbar ist, weil es ein Spiel und es natürlich Spaß machen sollte. Also lass uns das reparieren. Es ist einfach. Wir gehen zu den Operatoren und dieser Block hier wählt zufällig eins bis zehn eine Zufallszahl aus. Wir geben es hier einfach als Gewicht in dieses abgerundete Feld hier ein und dann lassen wir die Gewichtung nach dem Zufallsprinzip eins bis zehn auswählen. Zehn ist ein bisschen lang, 10 Sekunden. Sagen wir einfach vier, 4 Sekunden, und dann versuchen wir es. Also jedes Mal, wenn wir das Spiel starten, sollte es zufällig eine, zwei, 4 Sekunden sein, und hier haben wir es. Das sind vielleicht 4 Sekunden. Lass es uns nochmal versuchen. Und jetzt haben wir vielleicht 3 Sekunden. Lass es uns nochmal machen. 4 Sekunden, und machen wir es noch einmal. Wir können es auch 0-4 machen. Schau mal, ob ich das mache, dann siehst du, dass das Zurücksetzen der Position hier immer erst nach dem Gewicht hier passiert Ich denke, wir müssen das hierher verschieben. Lassen Sie uns das auf x und y über dem Gewicht verschieben. Es wird sofort auf diese Position zurückgesetzt und dann warten und dann gleiten Das ist besser. Und da ist der Ballon. Okay, wir haben hier diesen Gewichtungsmechanismus für den roten Ballon Wir brauchen ihn auch für die anderen Ballons. Also werde ich dir etwas zeigen , damit du einen Block, einen komplexen Block wie diesen, mit einer zufälligen Anzahl von Sekunden auf die anderen Ballons kopieren kannst einen komplexen Block wie diesen, mit einer zufälligen Anzahl . Extrahieren Sie das dafür einfach hier. Wir können das einfach trennen und dann herausziehen. Dann kann dieser Block hier einfach auf die anderen Sprites hier gezogen Dieser hier wackelt zum Beispiel ein bisschen, dann kannst du ihn hier ablegen und auf diese Weise wird er kopiert Dieser Block hier bleibt hier, aber er wird auch hierher in dieses Sprite kopiert Hier haben wir ihn, und jetzt können wir ihn einfach direkt vor dem Gleiten hierher legen und dann zurück zum roten Ballon, und dann können wir ihn auch hierher zum zweiten Zweig ziehen, ihn fallen lassen und auch zum ersten Spride , ihn fallen lassen und auch zum Jetzt müssen wir ihn hier an der richtigen Stelle platzieren. Kurz vor dem Gleiten warten wir eine zufällige Anzahl von Sekunden. Das Gleiche gilt für den blauen Ballon hier. Kurz vor dem Gleiten warten wir eine zufällige Anzahl von Sekunden. Das ist es Lass es uns versuchen und wir sehen, wie die Ballons eine zufällige Anzahl von Sekunden warten. Auch hier funktioniert der rote Ballon natürlich nicht mehr, funktioniert der rote Ballon natürlich nicht weil wir ihn in die Länge gezogen haben, also legen wir ihn einfach wieder hier zusammen, der rote Ballon funktioniert jetzt auch Es gibt ein Problem. Du hast es vielleicht schon gesehen. Wenn ich noch einmal anfange, siehst du, dass hier alle Ballons darauf warten aufzusteigen. Das ist zu einfach , weil der Spieler es einfach unten platzieren kann . Wir haben hier ein kleines Problem, aber es ist einfach zu beheben. Mal sehen, was wir hier haben. Wir setzen die Punktzahl hier in unserem roten Ballonskript auf Null, wir setzen die Geschwindigkeit auf 1,5, und wir gehen zu dieser Ausgangsposition und dann zeigen wir sie an. Nachdem wir den Ballon gezeigt haben, warten wir. Das Problem ist, dass hier zu diesem Zeitpunkt der Ballon bereits angezeigt wird und dann, sagen wir, maximal 4 Sekunden gewartet wird, und in dieser Zeit kann der Spieler den Ballon sehen Die Lösung ist sehr einfach Ändern Sie die Reihenfolge hier. Wir müssen den Ballon direkt vor dem Gleiten zeigen, und das muss bei jedem Sprite funktionieren Wir haben das Gewicht an der falschen Stelle eingesetzt. Oder die Sendung befindet sich jetzt in der falschen Position . Korrigieren wir das. Das war's für den lila Ballon, und wir machen das Gleiche für den gelben Ballon hier und auch für den blauen. Die Show sollte kurz vor dem Gleiten sein. Hier, das ist richtig. Lass uns nochmal nachschauen, kurz vor dem Gleiten zeigen Das sollte also stimmen. Lass es uns versuchen. Die Ballons werden erst angezeigt, wenn sie sich bewegen. Das ist jetzt schöner und ich kann versuchen, die Luftballons platzen zu lassen. Ja, ja Nein. Ja. Ja, das war ein Fehlschlag. Lass es uns nochmal versuchen. Diesmal. Ich habe die maximale Punktzahl von 40. Jetzt haben wir ein nettes Spiel und es ist ziemlich unterhaltsam, und es ist nicht so einfach, alle Luftballons zu treffen, alle Ballons platzen zu lassen. Zum Beispiel habe ich jetzt nur 30, und du kannst hier natürlich auch mehr Ballons duplizieren, hier natürlich auch mehr Ballons duplizieren sodass du vielleicht zehn oder was auch immer hast. Diese Verzögerung könnte auch etwas länger sein , oder diese zufällige Verzögerung könnte vielleicht 5 Sekunden betragen , sodass es einfacher ist, die Ballons platzen zu lassen , oder schwieriger, wie Sie möchten. Aber ich denke, damit sollte unser erstes Spiel abgeschlossen sein. Meiner Meinung nach ist das ganz nett, oder vielleicht sollten wir es dieses Jahr loswerden. Diese Y-Position muss nicht angezeigt werden. Das ist noch einmal. Lass uns das Spiel starten. Ich habe schon einen Ballon verpasst. Jetzt habe ich auch 30 Punkte. Bitte zögern Sie nicht, damit herumzuspielen und Spaß zu haben. Vielleicht kannst du hier die eine oder andere Sache verbessern. Kann vielleicht die Spielmechanik ein bisschen verbessern, du kannst mehr Ballons verdoppeln , damit du es schwieriger machen kannst oder das Spiel ist länger, als wenn du auch immer mehr Verzögerung hast, dann wird das Spiel natürlich länger Du kannst hier vielleicht auch die Kostüme wechseln. Wenn dir dieser Ballon nicht gefällt, kannst du deinen eigenen zeichnen oder du kannst ein neues Kostüm importieren, Kostüm hier hochladen und dann zum Beispiel ein PNG JPEG oder ein SVG wählen , dann kannst du diesen Ballon hier durch deinen eigenen Ballon ersetzen oder vielleicht kannst du ihn auch austauschen. Mit den voreingestellten Kostümen hier. Damit ist unser erstes Spiel abgeschlossen und das nächste Spiel beginnt im nächsten Abschnitt. 10. 10 Erstelle ein Konto zum Speichern und Teilen in der Cloud: Bevor wir mit unserem nächsten Spieleprojekt fortfahren, werde ich dir zeigen, wie du Scratch beitrittst und wie du ein Konto erstellst, damit du deine Projekte und deine Spiele online speichern und sie auch mit anderen teilen kannst, damit andere sie spielen können. Außerdem kannst du dir den Code in unseren Skripten ansehen und dann Anpassungen am Spiel vornehmen, ihr eigenes Spiel auf der Grundlage deines Spiel und all diese tollen Sachen. Lass uns das machen. Sie müssen hier auf Join Scratch klicken und dann einen Benutzernamen eingeben. Zum Beispiel gebe ich Def Teacher und dann ein Passwort ein. Vielleicht möchtest du dieses Kästchen hier deaktivieren, um dein Passwort nicht anzuzeigen, aber ich kann es auch aktiviert lassen damit alles, was du hier eingibst, sichtbar Ich mache das nicht, also werde ich hier ein neues Konto erstellen und dann hier ein zufälliges Passwort verwenden Ich werde es nicht zeigen. Sie müssen Ihr Passwort also zweimal eingeben, um sicherzustellen , dass Sie es richtig eingegeben haben, und natürlich müssen Sie sich das Passwort merken Geben Sie es also vielleicht in einen Passwort-Manager ein, so etwas, oder schreiben Sie es auf und verstecken Sie es Also dann, wenn du die beiden Passwörter richtig eingegeben hast, identische Passwörter hier. Sie können auf Weiter klicken und müssen dann Ihr Land auswählen Also wähle ich Deutschland, weil das mein Land ist, aber bitte wähle dein eigenes Jahr und deinen eigenen Monat deines Geburtstages. Also das ist meins hier. Ich bin ein Postbote und dann der Nächste. Was ist deine E-Mail? Und dann hält Scratch Sie auf dem Laufenden über neue Dinge, die zu Scratch hinzugefügt wurden, oder so ähnlich. Geben Sie also einfach Ihre E-Mail-Adresse ein. Ich werde meins hier platzieren und dann dein Konto mit diesem Button hier erstellen. Und es dauert ein bisschen. Dann willkommen bei Scratch Game Df Teacher. Jetzt bin ich hier eingesperrt. Ich habe auch dieses Menü hier, Profil-MyStuff-Kontoeinstellungen Gehen wir also zuerst zum Profil. Hier ist mein Profil. Du kannst hier etwas über mich schreiben, woran ich gerade arbeite, und du kannst auch dein Bild ändern. Entferne das einfach, bestätige deine E-Mail, um das Teilen zu aktivieren. Um ein Projekt zu teilen, müssen Sie auf einen Link in der E-Mail klicken , die Sie erhalten haben. Ich sollte inzwischen erhalten haben, ich klicke ihn einfach weg und du kannst hier dein Bild über mich, woran ich gerade arbeite, eintragen und auch dein Bild hier ändern. Außerdem hast du hier eine Liste deiner gemeinsamen Projekte, deiner Lieblingsprojekte deiner Lieblingsprojekte und Scratches, denen du folgst. Aber das ist nicht so wichtig. Du hast hier eine Nachricht. Hier sind Nachrichten von Grund auf neu. Willkommen, nachdem Sie Projekte und Kommentare verfasst Sie erhalten hier Nachrichten darüber Gehen Sie auf Entdeckungsreise und erstellen Sie ein Projekt. Das werden wir tun. Lassen Sie uns hier zu unserem Projekt zurückkehren. Sehen Sie sich unsere Projektseite hier an, und wir können sie jetzt auch hier speichern, oder wir können sie als Kopie speichern. Damit eine Kopie Ihres Projekts erstellt wird. Aber vorerst speichern wir das gespeicherte Projekt und dann können wir uns unsere Projektseite ansehen. Hier ist es. Sie können hier natürlich auch den Namen ändern, Luftballons platzen und hier können Sie auch das Spiel spielen. Und Anweisungen sind Anweisungen zum Spielen des Spiels, und auch andere Notizen und Credits können hier eingegeben werden. Aber das wird vorerst nicht geteilt. Du musst auf Teilen klicken, dann können auch andere Scratches das Projekt sehen und es auch abspielen und bearbeiten , so wie sie es mögen Gehen wir zurück und schließen dieses Tutorial. Wir sind in unserem Konto angemeldet und wie gesagt, Sie können online speichern. Du musst es nicht herunterladen. Sie können es natürlich auch herunterladen und von Ihrem Computer laden, ein Projekt hochladen, aber Sie können es jetzt auch sozusagen online in der Cloud speichern. Oder Sie können auch eine Kopie erstellen. Jetzt haben wir eine Kopie erstellt und den Namen in Balloons Pop Copy geändert . Jetzt haben Sie zwei Projekte. Hier, wenn du hier auf diesen Button klickst , kannst du deine Sachen sehen. Meine Sachen sind zwei nicht geteilte Projekte, keine gemeinsamen Projekte, weil ich hier noch kein Projekt geteilt Das ist jetzt hier privat, aber du kannst die Projekte auch hier löschen, sie hineinschauen, um sie zu bearbeiten, abzuspielen und zu teilen Das wollte ich dir zeigen. Kommen wir zurück zu unseren Luftballons. Pop. Und hier haben wir unser Projekt. Jedes Mal, wenn du dich auf einem anderen Computer anmeldest, kannst du deine Projekte vielleicht trotzdem hier bearbeiten , weil sie online gespeichert sind. 11. 11 Neues Spiel, das das Raumschiff steuert: Also hier sind wir. Das ist der Beginn unseres neuen Spiels, und dieses Spiel wird Space Explorer heißen, und der Spieler steuert ein Weltraumraketenschiff das durch den Weltraum reist und auf Dinge wie Meteoroiden, Felsen und so etwas trifft , Felsen und so etwas Aber vielleicht auch Rohstoffressourcen, etwas Wertvolles, für das der Spieler dann Punkte bekommt, und wenn der Spieler, das Raketenschiff, zum Beispiel auf einen Meteor trifft, dann wird es Schaden geben, und das wird die Idee sein Und lass uns anfangen. Wir haben also dieses CATs-Jahr. Ich habe ein neues Projekt gestartet. Wir können die Katze löschen und hier ein neues Sprite erstellen, ein Sprite aus den Ressourcen hier aus den vordefinierten Sprites auswählen den Ressourcen hier aus den vordefinierten Sprites und wir können nach einem Raketenschiff suchen, und da haben wir es, unser Einfach drauf klicken. Sie können auch sehen, dass es eine Animation hat. Schauen wir uns die Kostüme hier an. Und Sie können sehen, dass es hier fünf Frames hat, Animation für fünf Frames, und wir können das nutzen, um die Grafik etwas interessanter zu gestalten , um eine Animation des Spielerobjekts hier zu haben , das Raumschiff Aber zuerst wollen wir das Raumschiff steuern. Die Idee ist, dass Sie das Raumschiff mit den Cursortasten steuern können . Mit den Pfeiltasten nach oben wird das Raketenschiff nach links nach unten bewegt das Raketenschiff nach links nach unten Nach links und von rechts nach rechts. Einfach, aber wir müssen ein neues Konzept lernen. Also lasst uns unser Raumschiff hier ein bisschen besser für das Spiel geeignet Machen wir es ein bisschen kleiner, vielleicht 30, setzen wir die Größe auf 30, dann wird es viel kleiner sein, aber es wird auch mehr Platz für andere Dinge wie Meteoroiden und anderes Zeug geben andere Dinge wie Meteoroiden und Hier haben wir es, und lassen Sie uns hier in den Code einsteigen. Gehen wir zum Event-Bereich und verschieben diesen Link dann hier zu unserem Script Canvas. Okay. Wenn Go geklickt hat, was dann, wir müssen die Startposition festlegen Gehen wir zur Bewegung und dann zu zweit und dann zur Startposition Ich würde vorschlagen, dass Sie von der Mitte des Bildschirms aus beginnen, und die Mitte des Bildschirms ist Null, Null, das ist die Startposition. Genau in der Mitte, dann geht es hier zum positiven Ja und hier zum negativen Ja. Du kannst es hier sehen, wenn ich einfach zur Y-Position gehe und dieses Kästchen hier ankreuze. Der Wert wird hier angezeigt. Im Moment ist er natürlich Null, weil ich das Spiel gestartet habe und dieser Block hier ihn auf Null setzt, und auch das X wird Null sein. Ich kann dir hier auch das X zeigen. Wenn ich das hier nach oben schiebe, kannst du sehen, dass das Y mehr in die positiven Werte gerät. Wenn ich es nach unten verschiebe, siehst du , dass es minus etwas ist. Das ist ein positives Y, das ist ein negatives Y, und auf der linken Seite können Sie auch sehen, dass das X negativ ist, und das ist positiv x auf der rechten Seite. Okay, jetzt haben wir das. Wir zentrieren das Raketenschiff und jetzt müssen wir dem Spieler die Kontrolle über das Schiff geben Lassen Sie uns diese loswerden, also deaktivieren Sie diese beiden Kästchen hier, und dann haben wir mehr Platz für den Rest Also, wie kontrollierst du es? Wir stellen hier etwas , das ihr einen Game Loop nennen könntet. Und was ist ein Game Loop? Game Loop ist etwas , das sich für immer wiederholt. Nicht für immer, aber solange das Spiel läuft, wird es einfach unendlich wiederholt. Also wo ist das? Wir haben alles unter Kontrolle und dann haben wir das für immer. Und es heißt auch für immer. Also, um das hier drunter zu ziehen, zu X zu gehen, zu Y zu gehen. Und hier haben wir diese Schleife, und was bedeutet Schleife? Das bedeutet, dass sich alles im Inneren unendlich wiederholt. Wenn Sie also etwas danach hier tun, wird es niemals ausgeführt werden Wenn ich also hier so etwas mache, zum Beispiel zehn Schritte bewege, kann es hier nicht einmal anhängen, es hier nicht einmal anhängen weil Scratch weiß, dass es nach dieser ewigen Schleife keinen Sinn macht, etwas dort abzulegen , weil das nicht ausgeführt wird. Das ist also nicht möglich. Du kannst das nur innerhalb der Dauerschleife verschieben. Was passiert also, wenn ich das mache? Also beweg dich zehn Schritte. Lass uns das machen. Lass uns damit anfangen und du siehst, es geht nach rechts. Und dann ja, es steckt irgendwie hier fest, also kannst du es nicht weiter bewegen. Das X wird hier also maximal 242 sein. Also das weiter nach rechts zu bewegen, das funktioniert nicht. Also das macht das für immer hier. Und wenn du zwei Dinge hintereinander machst, wird es diese beiden Dinge auch für immer tun. Also lass uns etwas anderes tun. Gehen wir zu einer zufälligen Position, nachdem wir zehn Schritte gegangen sind. Lass das laufen und du siehst, dass es sich überall so schnell wie möglich bewegt. Das ist nicht sehr nützlich, aber wir können hier auch eine Verzögerung einfügen. Gehen wir zur Steuerung, und hier haben wir den Block „ Warte 1 Sekunde“, oder wir können 1 Sekunde oder zwei warten oder was auch immer. Lass uns das versuchen. Sie sehen, dass es sich zehn bewegt, dann wartet es 1 Sekunde und dann bewegt es sich an eine zufällige Position Aber wie dem auch sei, wir brauchen das hier nicht. Was wir brauchen, ist etwas anderes. Ich hoffe, du verstehst, dass sich alles, was hier drin ist, für immer wiederholen wird. Es gibt keinen Ausgang. Es wird immer wiederholt und wiederholt und wiederholt. Hier gibt es auch eine andere Schleife. Du kannst es zehnmal wiederholen. Dann wird es einfach zehnmal wiederholt. Oder Sie können wiederholen bis, und dadurch werden die inneren Blöcke hier wiederholt , bis eine Bedingung erfüllt ist, und dann wird es beendet. Und du merkst, dass diese hier diese kleine Kerbe haben. Danach kannst du also etwas tun. Aber im Forevep hast du das nicht, es gibt keine Möglichkeit, hier nach einer Ewigkeit etwas anzuhängen, was irgendwie logisch ist, also du musst bedenken dass du diese ewige Schleife hier niemals verlassen wirst Also wird es immer hier sein. Sie können hier aber auch ein anderes Ereignis hinzufügen. Wenn Sie also etwas parallel machen möchten, können Sie jederzeit ein anderes ziehen, wenn Sie hier klicken, und danach ein Skript hinzufügen. Das ist möglich. Du kannst zwei Dinge gleichzeitig laufen lassen, oder drei oder vier oder was auch immer, wie viele du willst. Was machen wir bei dem für Eve Loupe? Die Idee ist, dass wir überprüfen, ob eine Taste gedrückt wurde und dieser Block nicht richtig erkannt wird. Wir haben diesen Tastenraum gedrückt und können ihn hier auf die Leinwand ziehen. Aber wir brauchen auch etwas anderes. Wir brauchen etwas, das auch unter Kontrolle ist. Auf Englisch können wir sagen, wenn die Taste gedrückt wird, dann tu etwas, und hier bei Scratch ist es dasselbe, wenn etwas, dann tu etwas. Dieser Zustand hier nach dem Wenn, das kann dieser Block hier sein. Lass uns das hier nach dem Wenn platzieren. Leg es einfach hier ab. Dann heißt es, wenn dann die Leertaste gedrückt wird, und dann unter dieser Bedingung, wenn die Leertaste gedrückt wird, dann können wir hier etwas tun. Aber wir wollen hier nicht die Leertaste haben, wir brauchen, sagen wir, wir beginnen mit dem Aufwärtspfeil. Wenn die Aufwärtspfeiltaste gedrückt ist, dann tu etwas. Was machen wir dann? bewegen wir das Raumschiff Lassen Sie uns überprüfen, wie das gemacht wird. Wir ändern Y. Wir ändern die Y-Position um einen bestimmten Betrag Bleiben wir also hier bei der Zehn, ändern wir Y um Zehn Also, wann immer die Aufwärtspfeiltaste gedrückt wird, dann ändere y um zehn. Und zehn bedeutet nach oben, also wird das Y erhöht. Also lass uns überprüfen, ob das funktioniert. Drücken Sie Los, und dann drücke ich hier den Aufwärtspfeil, und wir sehen, dass das funktioniert. Ich kann nicht runtergehen, aber ich kann hochgehen. Also muss ich es beenden und neu starten, und dann und dann kann ich das wieder machen. Okay, also lass uns auch den Down machen. Klicken Sie hier auf das Wenn, rechte Maustaste, und dann können Sie Duplizieren sagen, und dann müssen Sie dieses zweite duplizierte Wenn-Schloss hier direkt darunter direkt hinter dem Wenn platzieren duplizierte Wenn-Schloss hier direkt darunter direkt hinter dem Wenn Das ist der Aufwärtspfeil, und das wird der Abwärtspfeil sein. Wenn der Abwärtspfeil gedrückt wird, nicht der Aufwärtspfeil, müssen wir y in die entgegengesetzte Richtung ändern. Hier ist das positiv, weil wir wollen, dass das Raumschiff nach oben fährt und hier muss es negativ sein, und dann wird das Y des Raumschiffs sinken . Lass uns das versuchen Ich drücke nach oben Jetzt drücke ich nach unten. Das scheint zu funktionieren, sehr nett. Jetzt müssen wir es nach links und rechts bewegen. Duplizieren Sie diesen Block erneut. Du hast dieses wenn, und dann ändern wir hier den Schlüssel. Beginnen wir mit einer Linkspfeiltaste und ändern in dieser Zeit nicht Y, denn links ist x, und rechts ist x. Lassen Sie uns das hier entfernen, löschen und hier nehmen wir die Änderung x y, setzen das hier ein, und dieses Mal wird x um zehn geändert. Lassen Sie uns das versuchen und es geht nach rechts. Das ist falsch. Das muss der Rechtspfeil sein. Versuchen wir es noch einmal nach rechts, ja, indem wir die rechte Taste drücken, die rechte Pfeiltaste. Das funktioniert. Das einzige, was noch übrig ist, und lassen Sie uns es noch einmal duplizieren. Setze es hinter das vorherige, wenn, und jetzt, wenn die Taste Linkspfeil gedrückt ist, dann ändere x um, und jetzt müssen wir es nach links bewegen, das heißt, wir müssen hier zehn subtrahieren Ändern wir es um minus zehn. Versuchen wir es noch einmal, links, rechts, hoch und runter, und das funktioniert. Das Spiel kann also das Raumschiff steuern. Wenn das zu schnell ist, vielleicht nicht glatt genug, dann müssen wir diese Werte hier ändern Vielleicht können wir sagen, geben wir hier fünf ein, und das ergibt dann minus fünf. Und das wird fünf sein, das wird minus fünf sein. Jetzt wird die Geschwindigkeit etwas niedriger sein. Versuchen wir es noch einmal, und jetzt ist die Geschwindigkeit langsamer. Jetzt haben wir die Steuerung des Raumschiffs. Das ist hier ein sehr wichtiger Schritt. Lassen Sie uns den Code noch einmal durchgehen. Wenn auf Go geklickt wird, setzen wir das Raumschiff auf die Ausgangsposition, hier die Startposition, und das ist Null und Null, x ist Null und Y Null Dann haben wir eine Schleife. Schleife dich durch diese Blöcke hier drinnen für immer, also wiederhole das für immer oder solange das Spiel läuft. Wir überprüfen hier bei jeder Iteration, ob die Taste, der Aufwärts-Fehler, der Abwärts-Fehler, der Rechts-Fehler und der Linkspfeil oder der Links-Fehler gedrückt wurde Und wenn das der Fall ist, ändern wir hier in diesem Fall y und x. Lass das ein bisschen rein. Das ist sehr wichtig. Das ist die Art, wie du die Bewegung machst, die Controller-Bewegung. Das ist die Standardmethode. Sie haben diese Dauerschleife, die wie eine Spielschleife in anspruchsvolleren Spielen ist. Das wiederholt sich immer so schnell wie möglich, und hier spüren wir, welche Taste gedrückt wird und ändern dann hier die X- oder Y-Position unseres Raumschiffs. Im nächsten Video werden wir also diesen konstanten Wert hier, in diesem Fall diese fünf, durch eine Variable ersetzen in diesem Fall diese fünf, durch eine Variable , sodass wir die Geschwindigkeit hier nach unseren Wünschen ändern können. Sie müssen hier nicht ständig vier Werte ändern. Vielleicht gibt es so etwas wie ein Power-up oder etwas, das die Geschwindigkeit erhöhen kann, also müssen wir diese konstanten Werte hier durch eine Variable ersetzen . Aber lass uns das im nächsten Video machen. 12. 12 Hinzufügen des Hintergrunds: Wir sind hier in unserem Space Explorer-Spiel und jetzt geht es darum, den Hintergrund zu erstellen. Du denkst vielleicht, es ist der Hintergrund, also müssen wir hier zu den Hintergründen gehen. Aber es gibt einen Grund, das nicht zu tun. Wir machen es mit einem anderen Sprite. Lass uns ein weiteres Sprite kreieren. Hier haben Sie das, wählen Sie ein Sprite aus, oder Sie können auch ein Sprite malen, und das machen Natürlich gibt es auch diese Optionen, um ein Sprite-Bild, SVG, etwas Ähnliches hochzuladen SVG, etwas Ähnliches Und lass dich überraschen und hab etwas. Lass uns das machen, lass uns ein zufälliges Sprite hernehmen. Das wollen wir natürlich nicht, aber wir können es natürlich wieder löschen Das ist unser zufälliger Sprite. Wenn du es noch einmal machst, bekommst du ein anderes. Diesmal ist es eine Schüssel. Das ist die Überraschungsoption, und wir können hier nachschauen, ob du etwas wie Weltraum, Universum oder Sterne findest , aber du wirst hier nichts finden. Wir finden eine Sonne, aber das ist nicht das, was wir wollen. Wir wollen einen schwarzen Hintergrund mit hellen Punkten darauf, weiße, vielleicht weiße Punkte darauf, und das ist nicht in der Bibliothek hier. Lass es uns selbst machen, wähle hier einfach Farbe. Dann können wir unseren Hintergrund malen. Fangen wir mit einem Rechteck an. Wählen Sie hier dieses Rechteckwerkzeug und dann wählen wir eine andere Farbe, natürlich sollte sie schwarz sein. Wir setzen die Helligkeit auf Null, und das ist Schwarz. Wenn Sie Weiß wollen, müssen Sie die Helligkeit auf 100 und die Sättigung auf Null setzen , und jetzt haben Sie Weiß. Aber wir wollen hier Schwarz, also wird bei Helligkeit auf Null alles schwarz. Es spielt keine Rolle, was Sie hier oder hier einstellen. Alles wird schwarz, wenn Sie die Helligkeit auf Null setzen. Jetzt haben wir die Vordergrundfarbe Schwarz und das Rechteckwerkzeug aktiviert, und dann müssen Sie ein Rechteck hierher ziehen. Also versuche es hier an diese Grenzen anzupassen. Wenn du das Rechteck hier erstellst, dann kannst du es mit diesen Punkten hier mit den kleinen Kreisen hier anpassen . Machen wir es mehr oder weniger genau so wie diesen inneren Bereich hier. Sie können die Ansicht auch vergrößern. Um zu überprüfen, ob wir es geschafft haben. Jetzt ist es nicht genau. Jetzt ist das okay. Das muss nicht exakt sein. Wenn Sie etwas falsch gemacht haben, können Sie hier einfach Rückgängig machen, sodass dieser Pfeil rückgängig gemacht wird, und dann wird die letzte Aktion rückgängig gemacht Lassen Sie uns das hier korrigieren. Die linke Seite, gehe immer zu diesen Kreisen hier, und dann kannst du sie anpassen, und dann sollte das in Ordnung sein. Lass uns rauszoomen. Das ist unser Hintergrund. Aber was fehlt hier? Die Sterne. Sterne sind also Kreise, zumindest in diesem Spiel. Wählen Sie also den Kreis, und dann müssen wir die Vordergrundfarbe von Co, die Helligkeit auf 100 und dann die Sättigung auf Null ändern . Das wird dir hier Weiß geben. Okay. Dann zoomen wir ein bisschen hinein und ziehen einen Kreis hierher. Es wird kein Kreis sein, wenn Sie hier nicht die Umschalttaste gedrückt halten. also auf Ihrer Tastatur die Umschalttaste gedrückt, und dann ist hier ein perfekter Kreis. Aber es ist ein bisschen zu groß, also machen wir es ein bisschen kleiner. Etwas in der Art vielleicht. Lass uns das überprüfen. Vielleicht ein bisschen zu groß, lassen wir es so. Wir haben hier einen Stern, nicht viel. Wir müssen mehr Sterne machen. Kehren wir hier zum Auswahlwerkzeug zurück. Wählen Sie das Auswahlwerkzeug aus, diesen Pfeil hier. Jetzt können wir hier unseren Stern auswählen und ihn jetzt kopieren. Wie kopiert man ihn? Drücken Sie hier Kopieren, diese Taste, oder Sie können auch den Befehl C drücken oder unter Windows ist es Strg C, und Sie haben es kopiert, und dann können Sie es einfügen. Einfügen ist diese Schaltfläche oder Befehl V oder Strg V. Fügen wir ihn ein, und dann ist er hier, und Sie können ihn dann hier an eine andere Stelle ziehen Ziehen wir es an eine andere Stelle. Vielleicht hier. Lass uns noch eine Kopie machen. Befehl C oder Steuerung C, Steuerung oder Befehl V, und dadurch wird eine weitere Kopie erstellt. Wir ziehen es woanders hin. Nochmals, wir bewegen es. Wir haben hier einen kleinen Sternenhaufen gebaut. Was wir jetzt tun können, um die Dinge ein bisschen schneller zu machen, ist, sie auszuwählen. Lass uns rauszoomen. Wählen Sie aus, und dann können wir ein Rechteck hierher ziehen. Jetzt hast du auch den Hintergrund ausgewählt , was nicht gut ist. Also lasst uns hier den Hintergrund abwählen. Drücken Sie die Umschalttaste und wählen Sie dann den Hintergrund Dadurch wird der Hintergrund abgewählt Jetzt haben wir nur diese hier ausgewählt. Kopieren wir sie, Conti oder Komaz und fügen sie dann ein, fügen wir sie Lassen Sie uns ein bisschen hineinzoomen und dann können wir diese neuen Sterne woanders hin verschieben diese neuen Sterne woanders hin Wir müssen einen der Sterne ziehen und dann passt auch jeder andere Stern dazu. Platzieren wir sie hier und lassen sie ein bisschen anpassen , wir wählen diesen aus und bewegen ihn. Vielleicht auch dieser. Dieser. Hier ist es ein bisschen anders. So wie das hier. Jetzt sollten wir hier noch eine Kopie unseres Sternenfeldes machen. Wählen Sie diese erneut aus, wählen Sie den Hintergrund ab und dann können Sie ihn kopieren und an einen anderen Ort verschieben Wie hier kannst du es auch mit diesem drehen. Dieser Griff hier kann das Ganze drehen. Und dann kopiere es noch einmal, verschiebe es vielleicht hierher, drehe es ein bisschen, vielleicht dieses Mal andersherum, und noch eine Kopie, und dann verschieben wir es hierher. Ich denke, das ist okay. Vielleicht bewegen wir diese Sterne ein bisschen nach rechts. Okay, ich denke, das ist okay. Also das ist unser Sternenhintergrund. Ich denke, das ist vorerst okay. Das ist also unser Hintergrund-Sprite hier, das erste Hintergrund-Sprite wir haben, aber es gibt ein Problem Es ist nicht im Hintergrund. Man kann das Raumschiff nicht mehr sehen. Wenn ich also auf das Raumschiff klicke, ist es hier nicht sichtbar, sollte aber sichtbar sein Was ist hier das Problem? Es ist hinter dem zweiten Sprite, hinter dem Hintergrund-Sprite Und das ist natürlich nicht das, was wir wollen. Wie können wir das beheben? Wir können es in den Hintergrund verschieben. Und das ist hier in Los, wähle hier Looks aus und dann kannst du runterrollen zur vorderen Ebene gehen. Das ist dieser Block hier. Ziehen Sie diesen Block also in die Leinwand in die Skript-Leinwand. Und dann können wir das nicht auf die vordere Ebene ändern, sondern wir wollen, dass es auf die hintere Ebene geht. Also mach das. Und da wir das nie geändert haben, können wir es einfach einmal hier im Editor machen und einfach auf diesen Block hier klicken. Wenn du auf den Block klickst, wird das hier in diesem Block ausgeführt. Gehe zur hinteren Ebene. Jetzt ist diese Spinne im Hintergrund und natürlich ist unser Raketenschiff jetzt im Vordergrund Das ist es. Das ist unser Hintergrundwissen. Es ist okay so, aber es ist statisch, es bewegt sich nicht und wir wollen einen Scroll-Effekt, sodass es aussieht, als würde das Raketenschiff tatsächlich durch den Weltraum fliegen Das machen wir im nächsten Video. 13. 13 Verschieben des Hintergrunds: Hier haben wir wieder unseren Hintergrund, und dieser Block hier wird nicht mehr benötigt, also können wir ihn löschen, ziehen Sie ihn einfach hierher und er wird verschwinden. Okay, wir müssen den Hintergrund verschieben , damit der Spieler den Eindruck hat, dass das Raketenschiff wirklich durch den Weltraum fliegt. Also, wie machen wir das? Es wird hier so sein. Aber natürlich wird es im Hintergrund sein. Aber lassen Sie uns zuerst die Position des Hintergrunds auf die Startposition setzen . Was ist die Startposition, die Startposition wird hier irgendwo hier in der Mitte sein, also sollte sie 00 sein. Das machen wir als Nächstes. Gehe zu Veranstaltungen. Wenn auf Go geklickt wird, legen wir die Startposition fest Gehe zu x und y, und das ist hier schon der Fall, x Null und y ebenfalls Null , sodass es bei jedem Spielstart zurückgesetzt wird Lass uns das versuchen. Einfach das Hintergrund-Sprite bewegen und dann starten, und jetzt haben wir es wieder an der Startposition Aber unser Raketenschiff ist wieder verschwunden. Um das zu vermeiden, sollten wir hier vielleicht trotzdem diesen Go-to-Layer-Block verwenden Stellen Sie es also einfach auf die Rückseite, gehen Sie hier zur hinteren Ebene. Nach zwei Schritten X und Y ist unser Raketenchip wieder sichtbar, nicht mehr hinter dem Hintergrund-Sprite Wie bewegen wir dieses Hintergrund-Sprite? Es ist wie mit dem Raketenchip, aber ohne die Steuerung erfolgt die Steuerung sozusagen automatisch, also brauchen wir eine Dauerschleife So etwas, und das wird natürlich nach der Initialisierung hier sein Zuerst setzen wir x und y auf Null und dann gehen wir zur hinteren Ebene, um sicherzustellen, dass das Sprite wirklich im Hintergrund und das Raketenschiff im Vordergrund befindet Jetzt haben wir hier diesen Game-Loop für unser Hintergrund-Sprite Apropos Hintergrund-Sprite, wir könnten es hier einfach umbenennen, sodass Sie es zum Beispiel in BG One umbenennen können Vielleicht haben wir ein zweites, also nennen wir es BG One Return, jetzt ist es umbenannt Was brauchen wir hier? Wir müssen den Hintergrund verschieben, und das steht natürlich im Antrag, also gehen Sie zur Bewegung über und ändern Sie dann Y um zehn. Lass uns das versuchen. Das ist die falsche Richtung. Ich wollte runter, also sollte es minus sein. Es ist ein bisschen zu schnell, also versuche es hier mit minus zwei. Versuchen wir es noch einmal und jetzt geht es hier nach unten. Das ist es, was wir wollen, aber wir wollten auch hier oben wieder anfangen, also müssen wir es zurücksetzen, wenn diese Position erreicht ist. Die Position hier ist -346, und das müssen wir hier berücksichtigen. Wir müssen überprüfen, ob die Position hier an dieser Y-Position platziert ist Wie machen wir das? Wir gehen zur Kontrolle. Diesmal geht es nicht um Loops, sondern um eine Bedingung. Wenn eine Bedingung erfüllt ist, dann wollen wir diesen Sp-Standort, den Sprites-Y-Standort, zurücksetzen den Sprites-Y-Standort Das ist eine A-Bedingung, dann mach das, und hier können wir schon eingeben, gehe zu x y, x ist okay, so wie es Null ist, und y sollte die Startposition sein Nein, es sollte nicht die Startposition sein, aber hier sollte es ungefähr so sein. Lass es uns hier ganz nach oben verschieben. Das ist der oberste Y-Standort hier. Und hier haben wir 346. Es ist also dasselbe, aber positiv. Okay, das ist also die Position, an der wir dieses Sprite Two zurücksetzen müssen dieses Sprite Two zurücksetzen Und jetzt brauchen wir die Bedingung. Die Bedingung ist also genau hier. Wie machen wir eine einfache Bedingung? Das haben wir schon gemacht. Hier haben wir Operatoren. Diesmal sind es also keine Sensorik, sondern Operatoren. Was müssen wir überprüfen? Wir müssen überprüfen, ob der Standort, der Y-Standort, unter einem Wert liegt. Und das ist dieser Block hier. Stell das hier hin. Und lass es fallen. Und jetzt brauchen wir den Y-Standort unseres Sprites. Gehen Sie zur Bewegung Dann haben wir hier die Y-Position. Das ist es, was wir brauchen. Wir überprüfen die Y-Position, wenn die Y-Position kleiner als diese minus 4346 ist, dann müssen wir auf diese Position zurücksetzen Lass uns das versuchen. Diese Bedingung ist im Moment nicht erfüllt, sie ist nicht erfüllt und dann funktioniert sie nicht. Y? Weil die Y-Position niemals minus drei, 47 sein wird, wird sie immer hier bleiben. Wir müssen das verringern. Wir müssen das um eins verringern oder um eins erhöhen, es sind nicht 36, 345. Wenn die Y-Position zwei minus drei ergibt, 46, ist diese Bedingung hier erfüllt . Lass uns das versuchen. Und es funktioniert, sehr nett. Das Hintergrund-Sprite bewegt sich jetzt nach unten und wenn es den Boden erreicht, wird es hier über diese Bedingung zurückgesetzt Wenn die Y-Position kleiner als minus 36, fünf ist, dann setze die Position auf diese Position zurück Das ist die Bewegung des Hintergrunds. Es funktioniert sehr gut. Das Problem hier ist, dass Sie hier diesen leeren Leerraum haben . Dafür brauchen wir ein anderes Sprite und das sollte eine Kopie dieses Sprites sein, aber es sollte sich ein bisschen anders bewegen, oder zumindest sollte es an einer anderen Stelle beginnen , und das machen wir im nächsten Video 14. 14 Zweites Hintergrund-Sprite: Jetzt, wo wir unseren bewegten Hintergrund so haben, müssen wir dieses Hintergrund-Sprite hier duplizieren, weil du hier diesen leeren oder weißen Raum dazwischen hast, also müssen wir ihn hier natürlich mit einem zweiten Sprite hier duplizieren, weil du hier diesen leeren oder weißen Raum dazwischen hast , also müssen wir ihn hier füllen mit einem Wie machen wir das? Das ist sehr, sehr einfach. Duplizieren Sie einfach dieses Sprite oder das erste Hintergrund-Sprite. Jetzt haben wir einen zweiten, und dann fangen wir wieder an, du wirst sehen, dass er immer noch diesen leeren Raum hat, diesen weißen Raum hier, weil beide Sprites einfach an derselben Position sind Aber das lässt sich sehr einfach ändern. Wir müssen hier nur die Startposition des zweiten Hintergrunds ändern hier nur die Startposition des zweiten Hintergrunds und sie auf diese drei, vier, sechs setzen. Lassen Sie uns das hier einfach trennen , um zu sehen, wie das aussieht. Es wird am Anfang auf diesen Ort hier gesetzt, und dann wird es von hier aus beginnen. Das sehen wir, wenn wir das einfach wieder verbinden. Der zweite Geist fängt hier an und dann geht es runter und der andere Geist geht auch runter, runter Man kann es nicht sehen, weil es keine Lücke zwischen den beiden gibt. Wir können hier auf dem ersten Hintergrund zu den Kostümen gehen und dann dieses Rechteck auswählen, und dann dieses Rechteck auswählen bei dem die Füllung schwarz ist, und wir setzen den Umriss, lassen Sie es uns hier auf Rot setzen. Das wird also einen roten Umriss haben , sodass du es hier sehen kannst. Kümmern wir uns hier um den anderen. Wechseln Sie zum zweiten Hintergrund sp. Wählen Sie erneut das Rechteck aus und ändern Sie dann den Umriss. Oh, Sie können natürlich auch die Füllung ändern. Aber lassen Sie uns den Umriss hier so ändern , dass wir hier sagen, dieses Blau. Jetzt haben wir diesen blauen Rand. Hier haben wir den roten Rand, sodass Sie sehen können, wie sie sich synchron zusammenbewegen. Lass uns damit beginnen und du kannst sehen, hier ist diese Trennlinie. Die zweite ist hier der obere Rand, und hier gibt es keine Lücke zwischen den beiden Hintergrund-Sprites. Das ist sehr nett und es war ziemlich einfach, das zu erreichen. Das zweite Sprite ist genauso wie das erste Hintergrund-Sprite Nur die Startposition muss geändert werden. Lassen Sie uns den Code noch einmal überprüfen. Wir gehen zur Ausgangsposition, die auf dem zweiten Sprite eine andere ist Es fängt hier ganz oben an und dann gehen wir auch zur Hintergrundebene von Dann machen wir das hier für Eup. Und wir ändern Y um minus zwei, was bedeutet, dass es sinkt. Bei jeder Schleifeniteration geht es um zwei Pixel nach unten. Und wenn die Position, die Y-Position hier einen bestimmten Punkt erreicht, den Boden erreicht, was wir mit dieser Bedingung hier überprüfen, dann setzen wir sie hier auf die Ausgangsposition zurück. Das Gleiche gilt für den ersten Hintergrund sp. Was hier anders ist, ist nur die Startposition, sie fängt genau in der Mitte , sodass sie hier alles abdeckt. Sie können dieses Rot hier sehen, dieser rote obere Rand erscheint hier, und dann geht es runter, runter, runter, runter, runter, runter, runter. Und wenn es diese Position erreicht, geht es wieder nach oben, genauso wie bei der zweiten. Das ist unser bewegter Hintergrund, und ich finde, das ist wirklich beeindruckend. Wir haben nicht viel Code geschrieben oder konstruiert. Einfach alles ist sehr einfach und wir können den Raketenchip hierher bewegen. Und der Hintergrund scrollt von oben nach unten. Wir können natürlich auch die Sterne ändern, damit es ein bisschen interessanter wird , denn im Moment haben wir hier nur eine Kopie, einen Klon des ersten Hintergrunds, und er hat dieselben Sterne Also können wir es hier ändern, die Kostüme, und dann kannst du all diese Punkte hier hin und her bewegen. Denken Sie daran, das Rechteck hier abzuwählen, dann können Sie sie verschieben, drehen, A. Gleiche gilt hier. Wählen Sie den Hintergrund ab und verschieben oder drehen Sie sie , sodass das Muster ein wenig anders aussieht Vielleicht so. Hier, lass es uns ein bisschen drehen. Jetzt sieht es anders aus. Lass es uns nochmal versuchen. Wir können jetzt auch die Grenzen loswerden. Wir brauchen sie nicht. Wählen Sie dieses Rechteck hier und setzen Sie dann Kontur zwei auf Schwarz zurück. Lassen Sie uns auch das andere entfernen. Stellen Sie es hier wieder auf Schwarz, Helligkeit Null. Lass uns das Spiel nochmal starten. Ich habe es in den Vollbildmodus gebracht, damit du besser sehen kannst, wie es startet, und jetzt können wir das Raumschiff hier hin und her bewegen Es gibt nichts einzusammeln oder so oder das Raumschiff kann im Moment nichts treffen, aber es kann durch den Weltraum schweben und der Spieler kann es kontrollieren Das ist sehr nett. Das ist ein sehr guter Anfang. Wir haben einen scrollenden Hintergrund mit zwei verschiedenen Hintergrund-Sprites Im nächsten Video werden wir hier weitere Objekte hinzufügen , damit der Spieler vielleicht einen Meteoriten treffen und Schaden erleiden kann 15. 15 Erstes Hindernis den Felsen: Jetzt, wo unser Raumschiff durch den Weltraum schwebt, durch den Weltraum reist und sich unser Hintergrund bewegt, brauchen wir ein Hindernis Also lasst uns das Spiel hier beenden und natürlich noch einen Sprite machen Also wähle ein Sprite und wir haben hier so etwas wie einen Stein Suchen Sie also hier in diesem Feld nach Gestein und wir haben Raketensplitter und Steine, und ich wähle Steine Jetzt haben wir diesen hier. Also müssen wir es ein wenig anpassen. Also ziehen wir uns Kostüme und hier haben wir den Sprite, das Kostüm, das Hauptkostüm des Sprites Lassen Sie uns das hier also zuerst loswerden, um sicherzugehen, dass Sie das Auswahlwerkzeug haben, diesen Pfeil hier, und dann wählen Sie ihn einfach aus und Sie können mit dieser Taste löschen oder Sie können Löschen auf Ihrer Tastatur oder Rücktaste drücken , Jetzt haben wir das und es ist ein bisschen zu groß. Ich denke, also lass uns die Größe ändern Hier kannst du die Größe hier ändern. Lass uns 50% draus machen. Nun, ich denke, das ist die richtige Größe und verschiebe sie ein bisschen hierher. Das ist ein bisschen besser. Jetzt können wir auch die Form ein wenig ändern, wenn du willst. Wie machst du das? Sie können es natürlich so drehen. Mit diesem Tool können Sie jedoch nicht auf die verschiedenen Punkte in diesem Vektorbild zugreifen . Du musst diesen hier verwenden. Dies ist das richtige Tool, um wirklich auf diese Punkte hier im SVG zuzugreifen . Jetzt kannst du ein wenig hineinzoomen und diese Punkte dann hier ändern. Das ist das Innere. Dann haben wir hier die Gliederung. Dies ist auch die Gliederung. Lassen Sie uns es hier etwas anders gestalten. Das ist natürlich ein bisschen Basteln hier. Wir müssen vorsichtig bei der Auswahl sein, klicken Sie hier auf diese Kreise Lass es einfach ein bisschen mehr vom Kreis abweichen. Machen wir hier eine kleine Kurve, so etwas wie das, so etwas wie einen Stein. Jetzt die andere Seite. Was Sie auch tun können, ist das hierher zu verschieben. Das wird also die Krümmung hier ändern. So etwas wie das. Sie können es auch gekrümmt oder spitz machen. Auf diese Weise haben Sie hier eine scharfe oder eine gebogene Kante . Hier kannst du die Kurve ändern. Du kannst hier ein bisschen herumfummeln. Ich werde es darauf beschränken, es ein wenig zu ändern. Das ist der innere Bereich hier. T Ich denke, das ist genug. Immer noch nicht sehr hübsch. Aber ich denke, es ist okay. Wenn Sie möchten, können Sie es hier natürlich besser machen und sich etwas mehr Mühe geben. Lass es uns ein bisschen besser machen. Um hier Punkte hinzuzufügen klicken Sie einfach auf die Zeile wie diese. Dann hast du einen neuen Punkt. Vielleicht brauchen wir hier einen. Klicken Sie einfach auf die Zeile und dann erhalten Sie hier einen neuen Punkt, den Sie verwenden können. Ich bin kein Künstler, also wird das nicht der schönste Meteoroid sein , den Sie Aber ich denke, so ist es vielleicht okay. Lass es uns so belassen. Was wichtig ist, ist, dieses Tool hier zu verwenden um Zugriff auf die einzelnen Punkte hier zu erhalten, und es zu verwenden , wenn Sie es zum Beispiel hierher verschieben oder drehen möchten . Etwas in der Art. Aber ich habe es wieder in die Mitte gelegt. Ich lasse es so. Das ist unser Meteoroid, aber ich möchte die Farbe ein wenig ändern Gehen wir noch einmal zu diesem Tool, diesem Punktselektor hier, und wählen wir hier diesen inneren Bereich Dann ändern wir die Farbe davon. Das ist eine grüne Farbe, aber ich ändere sie in braun. Vielleicht so etwas. Ich denke, das ist okay. Jetzt haben wir unseren Meteoriten und er steht einfach da und bewegt sich nicht Das ist natürlich nicht richtig. Was wir jetzt tun können, ist unser Skript aus dem Hintergrund zu kopieren, aus dem ersten Hintergrund hier, vielleicht oder vielleicht aus dem zweiten. Nehmen wir den zweiten. Hier haben wir das Drehbuch und wir kopieren es jetzt auf diesen Meteoritenfelsen Ziehen Sie es einfach hierher, bis es wackelt, und lassen Sie es dann einfach los, es fallen, und schon haben Sie es kopiert. Wähle den Stein Hier haben wir dieses Drehbuch. Dieses Skript ist eine Kopie des anderen Skripts. Schauen wir uns an, was passiert, wenn ich das Spiel starte. Es bewegt sich nach unten, es bewegt sich nach unten. Das ist gut. Aber es steckt auch hier fest. Wir müssen es hier verschwinden lassen , falls es hier diesen Tiefpunkt erreicht. Dies ist hier diese Bedingung, wenn y-Position kleiner als -345 ist Das ist hier anders. Sie können hier sehen , dass dieser Meteorot an einer Position feststeckt Lass es uns nochmal machen. Wir können es nicht sehen, weil es nicht im Vordergrund ist. Natürlich müssen wir das ändern, um zur hinteren Ebene zu wechseln , um zur vorderen Ebene zu gelangen. Jetzt sollte es in den Vordergrund gehen. Da ist es. Wir sehen, dass es hier feststeckt. Das ist -187. Wir müssen das minus 8186 ändern, das sollte es sein Wenn es darunter liegt und 187 darunter liegt, dann sollte es an die erste Position gehen Das ist der richtige hier. Lass uns das überprüfen. Da ist der Fels, und dann trifft er den Boden und dann kommt er wieder hier oben. Das ist nett. Das wiederholt sich. Natürlich ist es für das Raumschiff für den Spieler sehr einfach , dem Hindernis auszuweichen. Aber es ist ein Anfang. Das ist unser erstes Hindernis hier, und das Raketenschiff oder der Spieler sollten es vermeiden, es zu treffen. Im Moment gibt es keinen Treffertest. Aber das werden wir natürlich umsetzen. Außerdem ist es hier immer an der gleichen Position, also ist es langweilig. Aber wir haben unseren Meteoriten. 16. 16 Auf den Fels schlagen: Jetzt treffen wir den Felsen oder das Raumschiff trifft den Felsen, und dann sollte er verschwinden, und vielleicht sollten wir dort einige Punkte verringern oder den Schaden erhöhen Aber am Ende sollte das Raumschiff wieder auftauchen und dann geht das Spiel weiter, aber vielleicht mit einem Leben weniger, so etwas Lass uns den Schlag-Teil machen. Wie machen wir das? Wenn das Schiff auf den Felsen trifft, sollte es vorerst verschwinden und dann, sagen wir, nach 3 Sekunden sollte es wieder erscheinen, dann in der Mitte des Bildschirms, ungefähr so Wie machen wir das? Wir haben diesen Game-Loop hier auf unserer Raketenhüfte und dort können wir testen, ob es sich um ein Trefferereignis handelt, oder es ist kein Ereignis, aber es kann hier unter Sensing gefunden werden, gehen wir zu Sensing, und dann haben wir den Mauszeiger berührend. Das ist der Block, nach dem wir suchen. Aber es geht nicht um den Mauszeiger, es geht um einen anderen Sprite, und das sind Felsen Felsen berühren. Das ist die Bedingung, und für eine Bedingung verwenden wir den if-Block. Das ist hier. Wenn wir Felsen berühren, wenn das Raketenschiff den Felsen berührt, richtig, dann werden wir etwas tun. Was werden wir tun? Wir verstecken das Raketenschiff. Unter Blicken, und dann hier unten, gibt es Versteck. Leg das einfach hier rein und das können wir testen. Setzen wir diesen IF-Block hier ein. Am Ende der Dauerschleife. Das ist wichtig, nicht draußen. Du kannst es nicht draußen tun, weil du nach einer Ewigkeit nichts mehr tun kannst. Das ist der Ort, an dem du es hier ablegen musst. Wir machen die Spielschleife ewig durch und wenn das Raketenschiff dann auf den Felsen trifft, wenn es den Felsen berührt, dann sollte es versteckt sein. Lass uns das machen. Wir kontrollieren das Schiff nicht und jetzt verschwindet es. Das funktioniert. Jetzt wollen wir, dass es nach 3 Sekunden wieder erscheint Wir müssen 3 Sekunden warten und innerhalb dieser 3 Sekunden würde diese Steuerung hier nicht funktionieren Wir warten weiter auf. Leg das hinter das Fell und warte, sagen wir, 3 Sekunden. Innerhalb dieser 3 Sekunden diese Dauerschleife nicht, und dann, nach den 3 Sekunden, wollen wir wieder auftauchen Wir müssen es zeigen. Zieh diese Sendung hierher. Nach 3 Sekunden Wartezeit. Versuchen wir das und wir sehen, dass das Schiff nicht sichtbar ist. Warum? Weil wir es am Anfang nicht gezeigt haben, müssen wir es hier drüben zeigen, wenn wir klicken, dann das Sprite zeigen Jetzt können wir es sehen und jetzt verschwindet es, weil es auf den Felsen trifft, und dann taucht es wieder Dann können wir das Schiff kontrollieren und uns um den Meteoriten bewegen Dann treffen wir noch einmal auf den Felsen und dann sollte er wieder auftauchen. Das ist nett. Aber natürlich müssen wir etwas tun, wenn das Raumschiff auf den Felsen trifft denn es sollte eine Strafe geben, wenn man Steine trifft, und sagen wir, das Schiff hat Leben Wir haben vielleicht drei Leben und dann wird ein Leben abgezogen, wenn das Schiff auf den Felsen trifft Wenn das Schiff dann keine Leben hat, ist das Spiel vorbei Lass uns das im nächsten Video machen. 17. 17 Schäden und Reparaturen: In diesem Video werden wir Reparaturen zählen. Sie haben eine bestimmte Anzahl von Reparaturen. Sie haben Geld für, sagen wir, drei Reparaturen. Wenn du den Stein mehr als dreimal triffst, ist das Spiel vorbei. Wir müssen die Anzahl der Reparaturen zählen und wie zählen wir? Wir wissen bereits, dass es Variablen mit einer Variablen sind. Lass uns eins machen. Gehe zu Variablen, lösche diese, die Meine Variable. Das brauchen wir nicht. Mach ein neues, und das sollte für alle Sprites gelten. Das sollten Reparaturen sein oder vielleicht noch Reparaturen übrig, ungefähr so Natürlich müssen wir am Anfang beginnen. Zwei, drei Reparaturen übrig lassen, der Spieler hat drei Reparaturen oder Geld für drei Reparaturen, und dann ist das Spiel vorbei. Wir können hier sehen, dass die Reparaturen bei Null geblieben sind. Wir müssen das Spiel starten. Jetzt haben wir drei, und das ändert sich natürlich nicht. Das müssen wir jetzt tun, und es ist super einfach. Nur eine Änderung ist übrig, dieser Block hier nach dem anderen. Nun, das ist nicht der richtige Betrag minus eins, das sollte reichen, also sollte es weniger Abfall geben, Reparaturen bleiben um eins übrig Machen wir das entweder vor oder nach dem Gewicht, vielleicht vorher ist besser Lass uns das machen. Jetzt haben wir zwei. Wenn wir ihn erneut treffen, haben wir einen, und wenn wir ihn erneut treffen, haben wir Null, und jetzt sollte der nächste Absturz das Spiel beenden. Aber in diesem Fall haben wir minus eins. Wir müssen überprüfen, ob wir noch Reparaturen unter Null haben. Wenn dieser Wert auf minus eins fällt, ist das Spiel vorbei. Wo machen wir das? Wir machen es hier vielleicht kurz vor dem Gewicht. Wir müssen eine Bedingung dafür überprüfen, wir haben den Wenn-Dann-Block hier, ziehen ihn hierher. Jetzt haben wir auch diesen weniger als Block, brauchen wir auch, und wir müssen ihn hierher ziehen. Jetzt müssen wir den Wert unserer variablen Reparaturen übrig lassen. Gehen wir zu Variablen, und hier haben wir noch Reparaturen übrig, unsere Variable, und wir können sie hier in diesen Zustand ziehen , in diesen Zustand weniger als. Wenn die verbleibenden Reparaturen weniger als Null sind, ist das Spiel vorbei. Also müssen wir überprüfen, was wir tun, wenn das Spiel vorbei ist. Zum Beispiel können wir etwas sagen. Es klingt lustig, aber so kannst du es machen. Du musst also 2 Sekunden lang Hallo sagen und es erscheint eine Blase mit einem Text. Lass uns das versuchen. Versuchen wir zuerst, diese Meldung anzuzeigen, wenn das Schiff auf den Felsen trifft. Also sag hallo. Es ist vielleicht nicht der richtige Text hier. Sag Absturz, für 2 Sekunden. Ja, ich denke, das ist okay. Lass uns das versuchen. Hier kannst du sehen, nein, es ist versteckt, deshalb kannst du die Blase nicht sehen. Lass uns hier die Reihenfolge ändern. Wir müssen es nach dieser Nachricht verstecken. Lass das rein. Wir ändern die Variable um minus eins, wir sagen Absturz, wir verstecken uns und warten dann 3 Sekunden. Lass uns das sehen. Absturz. Und wieder Absturz. Wenn der Wert der verbleibenden Variablen für die Reparatur nun unter Null liegt, müssen wir so etwas wie Game Over sagen. Lass es uns noch einmal hier hinstellen. Das Spiel ist vorbei und versuche es erneut. Erster Absturz, Zweiter Absturz. Jetzt ist der dritte Absturz immer noch okay, aber jetzt haben wir keine Reparaturen mehr übrig. Ich sollte sagen, das Spiel ist vorbei. Das ist nicht der Fall. Wir müssen das überprüfen, und ich weiß es, weil es versteckt ist. Natürlich wieder falsche Reihenfolge. Lass es uns danach verstecken. Lass es uns nochmal versuchen. Lassen Sie uns dieses Mal die Anzahl der Reparaturen verringern. Lass es uns reparieren und dann ist das Spiel vorbei. Beim nächsten Absturz ist das Spiel also vorbei. Es funktioniert. Es stürzt natürlich zuerst ab, weil wir abgestürzt sind, und dann ist das Spiel vorbei Wir haben beide, und dann dauert es 2 Sekunden, bis das angezeigt wird, und dann wird nach dieser Variablen gesucht Vielleicht ist es besser, den Absturz gleich nach diesem Check hier zu sagen . Lass uns nochmal die Reihenfolge ändern und dann versuchen wir es nochmal. Erster Absturz, keine Reparaturen übrig, und jetzt ist das zweite Crash-Spiel vorbei. Und dann Absturz. Wie beenden wir das Spiel eigentlich? Wenn das hier der Fall ist, müssen wir das Spiel beenden. Es ist auch möglich. Wir kontrollieren und stoppen dann alles. Leg das hier in den Spielkoffer. Lass es uns nochmal versuchen. Erster Absturz. Zweiter Absturz und dann ist das Spiel vorbei. Das ist nett. Das ist sogar ein Spiel. Es ist nicht sehr aufregend, denn wir haben nur einen Stein, einen Meteoriten, und außerdem gibt es nichts einzusammeln und vielleicht die Reparaturen aufzufüllen, die du noch übrig hast, oder es gibt kein Ziel, das du erreichen Es ist also langweilig. Aber es ist schon ein Spiel, also können wir es natürlich verbessern, und das werden wir auch tun. Das Erste, was ich hier verbessern würde, ist zum Beispiel , dass sich der Stein hier in einer zufälligen X-Position befindet. Wenn wir den Stein zurücksetzen, also hier, zu X und Y gehen, werden wir das auf ein zufälliges X setzen und nicht auf Null. Lass uns das im nächsten Video machen. 18. 18 Zufällige Startposition und benutzerdefinierte Blöcke: das Spiel interessanter zu machen, möchten wir eine zufällige Startposition für unseren Meteoroiden einführen für unseren Meteoroiden Schauen wir uns das Spiel noch einmal an. Der Stein beginnt hier immer von derselben X-Position. Natürlich beginnt er auch an derselben Y-Position, aber die X-Position ist interessant. Der Spieler hier weiß also, wo sich der Meteoroid befindet, und es ist sehr einfach, hier auf dieser X-Position zu fliegen Du musst nichts weiter tun. Das ist also nicht sehr interessant. Also müssen wir das ändern, und das ist ziemlich einfach. Wir verwenden diesen Block hier. Die Betreiber wählen also nach dem Zufallsprinzip. Also haben wir das schon einmal für die Ballons im Ballonspiel verwendet die Ballons im Ballonspiel Das generiert hier also eine Zufallszahl zwischen diesen Grenzwerten. Welche Grenzen brauchen wir? Also lasst uns diesen Meteoriten einfach auf die linke Seite stellen diesen Meteoriten einfach auf die linke Seite und schauen, was die Exposition Vielleicht so etwas, und dann haben wir diese Sagen wir also -220, und dann würde ich sagen plus 220, dann auf der anderen Seite Das wäre so , als würde ich das hier so reinstellen . Das finde ich okay. Also zwischen diesen beiden Zahlen wird hier eine Zufallszahl ausgewählt, und diese müssen wir hier für unser X setzen. Also hier , aber bevor wir das tun, klicken wir mit der rechten Maustaste auf den Block hier und bezweifeln es. Wir haben zwei davon. Setzen wir die erste hier ein, gehen wir zu x. Dann beginnt das Spiel. Wir gehen zu dieser Reset-Position, und das ist die Zufallszahl hier für x und das Y ist 346, und das Gleiche gilt auch hier, wenn wir die Position zurücksetzen. Wenn diese Y-Position erreicht ist, setzen wir zurück und gehen auch zu einer Zufallszahl x und dieser festen Y-Position. Das ist einfach und lass es uns hier versuchen, und wir sehen, diesmal ist es diese Position hier auf dem Felsen, und dieses Mal ist es hier drüben, also kann der Spieler das Raketenschiff nicht einfach hier in der Mitte verlassen , weil es eine zufällige Zahl geben wird, eine zufällige X-Position in der Mitte, und das ist die eine und stürzt ab, also muss der Spieler hier vom Weg abbiegen, und das ist ein bisschen Ein bisschen interessanter Trotzdem haben wir nur einen Meteoriten, nur einen Felsen, also ist es nicht sehr schwer, das zu vermeiden, aber zumindest ist es zufällig und die Exposition ist jedes Mal, wenn der Stein zurückgesetzt wird, die Position ist zufällig festgelegt Okay. Also, was hier nicht so nett ist, ist die Tatsache, dass wir das zweimal eingeben müssen. Also dieser Block, dieser Auswahlblock mit Zufallszahlen. Wir müssen ihn zweimal reintun. Wenn Sie also zum Beispiel die Grenzwerte hier ändern möchten , müssen wir das hier tun. Wenn wir also wollen , dass dieser Stein mehr in der Mitte liegt, dann müssen wir ihn hier an zwei Stellen ändern . Nicht so nett. Und aus diesem Grund stellen wir hier ein neues Konzept und dieses Konzept besteht aus maßgeschneiderten Blöcken. Sie können Ihren eigenen Block erstellen. Hier sind meine Blöcke. Du kannst deine eigenen Blöcke bauen und du wirst sehen, wie das aussieht . Wir werden es hier verwenden um den Stein auf diese Ausgangsposition und auch auf die Startposition zurückzusetzen und auch auf die Startposition wenn er den Boden erreicht Die Idee ist, diese beiden Aufrufe „Gehe zu x“ und „ Gehe zu y“ durch ein zufälliges X mit einem benutzerdefinierten Block zu ersetzen Gehe zu y“ durch ein zufälliges X mit einem benutzerdefinierten Lass uns das machen, einen Block unter meinen Blöcken und dann kannst du hier einen Blocknamen wählen. Setzen Sie einfach den Cursor hierher oder Sie können einfach Ihren Namen für den Block eingeben. Ich würde sagen, das ist Reset Random X. Es sollte ein Name sein, der irgendwie die Bedeutung dessen vermittelt, was innerhalb des Blocks getan wird Ein Block kann andere Blöcke enthalten , so etwas wie eine Subroutine Der Name sollte beschreiben, was in diesem Block gemacht wird. Also einfach klicken. Die anderen Optionen sind im Moment nicht wichtig. Also klicken Sie einfach auf k, und dann haben wir diesen Block schon hier. Und hier definieren wir, was in diesem Block gemacht wird. Sie können hier also beliebige Blöcke platzieren, genauso wie Sie, nachdem Sie auf das W geklickt haben, alles, was Sie wollen, hier einfügen können. Also lass uns das machen Wir wollen die Position der Felsen auf die Ausgangsposition zurücksetzen , also müssen wir diesen Block hier extrahieren. Also zieh das einfach auseinander und dann zieh das raus und lege es hier in dieses Define-Reset-Zufalls-X. Damit lassen wir es so. Und das kann auch hierher gezogen werden, und du kannst das löschen, das andere weglegen Also leg es einfach hier drüben ab. Also, wie nennen wir diesen Block? Sehr einfach? Wir gehen zu meinen Blöcken und haben es dann hier. Wir setzen zufälliges X, und das ist unser benutzerdefinierter Block und wir können einfach wie jeden anderen Block diesen benutzerdefinierten Block hierher ziehen, dann fügen wir alles zusammen. Und auch der zweite Standort ist hier. Wenn diese Y-Position erreicht ist, wird auch auf diese zufällige X-Position und die feste Y-Position zurückgesetzt . Also lass uns das zuerst versuchen, und es sollte genauso funktionieren wie zuvor? Exposition der Felsen wird bei jedem Drücken der Taste zufällig ausgewählt Also das wollten wir, und das ist das Gleiche wie zuvor, also hat sich nichts geändert Aber das Gute ist, dass dieser Code einfacher zu ändern ist. Was meine ich? Wenn Sie den Bereich ändern möchten, aus dem die Zufallszahl ausgewählt wird, müssen Sie nur diesen einen Ort hier ändern. Wenn Sie zum Beispiel möchten, dass es eher in der Mitte in der Mitte liegt, könnten wir sagen, dass es zwischen -100 und plus 100 liegt, und das war's Wir müssen nur diese eine Stelle dieses Codes an diesen beiden Positionen ändern , Funktion, wie Sie sie nennen könnten, auch oder diese Prozedur, oder diese Subroutine wird von diesem Positionscode und von diesem Ortscode aus aufgerufen diesem Positionscode und von diesem Ortscode aus Auf diese Weise ist es einfacher, sie zu ändern, und Sie können hier drinnen tun, was Sie möchten. Also jedes Mal, wenn G angeklickt wird, wird dieser Block aufgerufen Was bedeutet das, dass die Blöcke unter diesem Reset-Zufalls-X unter diesem definierten Reset-Zufalls-X ausgeführt werden Und wenn hier keine Blöcke mehr vorhanden sind, wird die Ausführung hier nach diesem benutzerdefinierten Block wieder aufgenommen Der nächste Schritt ist also, zur vorderen Ebene zu wechseln und dann diese Endlosschleife Das Gleiche gilt hier, wenn diese Y-Position erreicht ist und wir hier zu diesem zufälligen X-Block springen und go to x ausgeführt wird und danach für immer. Wird weitermachen. Das ist also ein netter Trick. Es ist nicht notwendig, benutzerdefinierte Blöcke zu verwenden. Du kannst immer ohne sie auskommen. Es ist jedoch einfacher, Änderungen vorzunehmen , wenn Sie dieses Skript hier verwenden Diese Blöcke befinden sich in diesem benutzerdefinierten Block an mehr als einer Stelle. Wir rufen es hier und hier auf, und auf diese Weise müssen wir nur diese eine Stelle in unserem define reset random X ändern diese eine Stelle in unserem define reset random X werde diese Möglichkeit nutzen, um auch später benutzerdefinierte Blöcke zu erstellen, aber hier ist die erste Einführung in dieses Konzept, und das ist sehr wichtig weil es Ihren Code lesbarer macht. Stellen Sie sich vor, Sie haben etwa zehn Blöcke hier in diesem benutzerdefinierten Block, und Sie müssten sie hier einfügen, direkt ohne diesen benutzerdefinierten Block, und Sie haben das zweimal dasselbe an zwei Stellen hier im Code und Sie möchten dort etwas ändern, dann müssen Sie immer zwei Orte ändern. Wenn Sie diese Funktionalität beispielsweise an zehn Stellen benötigen, müssen Sie diese zehn Stellen ändern. Wenn Sie diesen benutzerdefinierten Block hier haben, müssen Sie nur diesen einen Ort ändern. macht den Code natürlich auch lesbarer, Das macht den Code natürlich auch lesbarer, weil du diesem Block einen Namen geben kannst, was genau dieser Block macht. Es ist, als würde man einen Kommentar schreiben, sodass dieser Block hier die X-Position auf eine Zufallszahl zurücksetzt, und das sagt die Beschreibung hier. Der Name des Blocks lautet: Reset random x. Sie können eine gute Beschreibung eingeben, sodass Sie Ihren Code wie einen englischen Satz lesen können Ihren Code wie einen englischen Satz lesen , zum Wenn du auf Reset Random X klickst, dann zur vorderen Ebene gehen und so weiter, und wir können vielleicht auch diese Dauerschleife in einen benutzerdefinierten Block einfügen Dauerschleife in einen benutzerdefinierten Block nicht nötig, aber um ihn zu benennen. können wir machen. Lass uns das machen, einen weiteren Block machen, eine Spielschleife machen und dann okay. Jetzt können wir unseren benutzerdefinierten Game-Loop-Block definieren, diesen Forever-Loop hier platzieren und einfach diesen Game-Loop-Block hier verwenden , und das wird dasselbe sein. Lass uns das Spiel erneut starten. Und Sie sehen, das funktioniert genauso wie zuvor. Aber jetzt haben wir unseren Code ein bisschen besser strukturiert, und Sie können ihn hier wie in normaler Sprache lesen. Wenn du klickst, das zufällige X neu setzt, gehe zur vorderen Ebene, zur Spielschleife. Und wenn du wissen willst, was in Game Loop gemacht wird, musst du nur hier klicken, um Game Loop zu definieren. Du kannst es also so lassen, aber ich werde das für immer wieder hier hinstellen Ich war nur ein Beispiel. Leg das wieder her und wir können Definition hier loswerden. Zuerst musst du diesen Block hier loswerden. Dann können Sie das Definierte loswerden, und dann wird der Block auch hier gelöscht. Auf diese Weise definieren Sie Ihre eigenen benutzerdefinierten Blöcke, die beliebigen Code enthalten können und in denen Ihr komplettes Skript enthalten sein kann. Sie können hier auch einen anderen Block aufrufen , das ist auch möglich. Auf diese Weise kannst du deinen Code besser strukturieren , sodass du oder andere Leute , die möglicherweise an diesem Spiel arbeiten , verstehen können, worum es in dem Skript geht. 19. 19 Klonen unseres Rock: Unser Spiel macht Spaß oder macht zumindest mehr Spaß als am Anfang, weil wir hier die Zufälligkeit eingeführt haben, und das ist diese zufällige Position des Felsens hier , sodass das Spiel etwas schwieriger zu spielen ist, aber trotzdem ist es sehr einfach, diesem Felsen hier auszuweichen Was brauchen wir also? Wir brauchen natürlich mehr Steine. Auf diese Weise wird das Spiel also schwieriger. Und natürlich könnten wir die Steine einfach mit einem Rechtsklick auf den Sprite Dublic hierher kopieren , und dann haben wir zwei Steine, und wir könnten es einfach so machen Also lass es uns versuchen. Also da haben wir zwei Steine und alles ist okay. Also lass es uns noch einmal überprüfen. Also sind sie näher beieinander. Wir haben den Bereich hier auf 100 begrenzt, -102 auf positive 100 Lassen Sie uns das zurücksetzen auf ich glaube, es waren 220 und dann zwei positive 220 Also das ist ein bisschen besser, dann ist es eher zufällig. Hier können wir sehen, dass die Felsen weiter voneinander entfernt sind, was natürlich besser ist. Und das Spiel ist jetzt schwieriger, weil du zwei Felsen ausweichen musst. Und natürlich können wir noch einen machen, ein Doppelkit und so weiter. Jetzt haben wir drei. Sie sind zusammen hier. Und da hast du auch das Problem. Diese beiden Steine passen eher zusammen. Aber das Problem ist hier, ich habe diese 220 nur für diesen Stein geändert und der erste ist bei 100 geblieben. Also müssen wir es auch hier ändern, minus 222 plus 220. Fangen wir noch einmal an. So nett. Aber Sie haben das Problem gesehen. Jetzt sind sie hier gleichmäßig verteilt, nicht mehr. Aber Sie sehen das Problem , dass, wenn wir hier Kopien von diesen Steinen machen , wir später etwas ändern müssen Wir müssen das bei jedem Sprite hier machen. Wenn ich hier also den Bereich ändern muss, muss ich in jedes Sprite in den Code gehen und ihn dann für jedes Sprite ändern Das ist nicht sehr nett, also müssen wir uns hier eine bessere Lösung einfallen lassen Also lass uns die zusätzlichen Steine hier löschen. Wir können es mit nur einem Stein machen. Und wie können wir das machen? Diese Methode wird Klonen genannt, und jeder Star Wars-Fan weiß natürlich, was ich meine, was Klonen ist, denn in Star Wars gibt es die Klonkriege, und ein Klon ist eine Kopie einer Quelle, sagen wir, einer Quellentität Sie haben also die Quellentität, und in unserem Fall ist es natürlich das Sie machen Klone davon, also exakte Kopien davon Aber diese Kopien haben sozusagen ihr eigenes Leben und sie sind unabhängig vom ursprünglichen Klon Oder von der ursprünglichen Entität. Wie machen wir das und wie funktioniert es bei Scratch? Wir wählen hier unseren einzigen Stein aus. Und wir machen Kopien oder Klone von diesem Stein. Also müssen wir die Kontrolle übernehmen. Also hier haben wir, wenn ich als Klon anfange und einen Klon von mir selbst erstelle und diesen Klon auch lösche. Also, wie funktioniert das? Wir müssen zuerst einen Klon erstellen. Ziehen wir diesen Block hier auf die Leinwand. Fügen Sie also einfach diesen Create-Clone von mir hier ein, gleich nachdem Sie auf Go geklickt haben Okay, lass uns überprüfen, wie sich das auf unser Spiel auswirkt. Lass uns damit beginnen. Und jetzt müssen wir. Aber nur einer funktioniert wie erwartet und der andere funktioniert nicht, ist immer in dieser Position da. Das ist nicht genug. Wir haben zwei Steine, das ist okay, aber der zweite funktioniert irgendwie nicht. Warum? Denn was Create Clone of Myself macht ist einfach, zu diesem Zeitpunkt einen Klon zu erstellen, und danach wird der Rest des Codes nicht ausgeführt. Hier fängt es damit an, wenn man klickt, einen Klon von mir erstellt, dann wird der Klon erstellt. Dieser Code wird also nicht erneut für diesen neuen Klon ausgeführt, sondern nur für das ursprüngliche Sprite Und nur das Original-Sprite funktioniert. Also alles, was nach Create Clone kommt wird nur für das Original-Sprite ausgeführt, nicht für den Clone. Wie können wir das beheben? Das ist sehr einfach. Dafür ist dieser Block da. Wenn ich als Klon anfange. Das ist irgendwie dasselbe wie damals, als G geklickt hat. Aber das wird immer dann ausgelöst, wenn das hier aufgerufen wird. Create Clone of myself wird das auslösen, aber für das Klon-Sprite, natürlich nicht für das Original-Sprite Wie verwenden wir das hier? Wir müssen das hierher verschieben. Zu diesem Event, wenn ich als Klon anfange. Wenn auf Go geklickt wird, erstellen wir gerade einen Klon von uns selbst, und dieser wird dann im geklonten Sprite ausgeführt Lass uns anfangen. Jetzt haben wir immer noch einen Stein hier oben und er bewegt sich nicht oder er kommt nicht runter , aber dieser hier. Das ist eigentlich der Klon. Lass uns damit aufhören. Das ist also der Klon, und wenn ich das Spiel stoppe, verschwindet der Klon, wird gelöscht. Nur der ursprüngliche Sprite ist übrig geblieben. Also wird jeder Klon, der während der Laufzeit erstellt wird, gelöscht, wenn ich das Spiel beende Auf diese Weise kannst du also auch sehen, dass dieses hier, dieses sich bewegende Sprite, der Klon ist Und natürlich erstellt das Original nur einen Klon, eine Kopie von sich selbst, und dann macht es nichts anderes Aus diesem Grund tut das ursprüngliche Sprite nichts. Es sitzt einfach da. Und der Klon funktioniert jetzt. Und genau das wollen wir. Wir können auch einen weiteren Klon erstellen. Also füge hier einfach einen weiteren Block ein, erstelle einen Klon von mir, also haben wir jetzt zwei Klone oder wir sollten jetzt zwei Klone haben Lass uns anfangen. Und das ist richtig. Wir haben zwei Klone. Und jeder Klon hat hier das gleiche Skript. Wenn ich hier etwas ändere, dann ändert sich das für alle Klone. Was nicht so schön ist, ist, dass wir hier immer noch dieses originale Sprite haben , das ist einfach zu reparieren Wir können einfach nachschauen und uns dann verstecken. Leg hier einfach ein Versteck hin. Wenn ich dann als Klon anfange, wird das für jeden Klon aufgerufen. Wir müssen es zeigen. Das ist das Erste, was wir tun, wir zeigen den neuen Klon, die neue Kopie, und dann der Rest der gleiche wie beim ursprünglichen Sprite Aber das ursprüngliche Sprite macht hier nichts, es versteckt sich nur und erstellt dann zwei Also das ist jetzt eine Vorlage. Das ursprüngliche Sprite ist eine Vorlage, die ebenfalls versteckt ist, sodass Sie sie nicht sehen können, und die eigentlichen Sprites, die im Spiel verwendet werden, sind diese Lass uns das Spiel starten und wir haben jetzt zwei Klone, und das ursprüngliche Sprite hier ist versteckt, aber die Klone sind sichtbar, weil wir diese Show hier machen diese Show hier Das ist sehr nett. Wir können hier auch etwa zehn Klone haben Kein Problem. Wir können das einfach duplizieren. Klicken Sie mit der rechten Maustaste hier im Kontextmenü auf Duplizieren. Sie haben jetzt vier Klone. Lass uns das Spiel nochmal starten, vier Klone. Für das Raketenschiff wird es immer schwieriger , allen Felsen auszuweichen Sie haben immer noch dieselbe Y-Position. Es ist nicht so schwierig. Sie müssen nur die Lücke hier finden und dann Ihren Raketenchip in diese Lücke lenken Das ist also immer noch einfach. Wir können es aber auch schwieriger machen. Aber ich möchte nicht all diesen Create-Clone von mir kopieren. Ich möchte es in einer Schleife machen. Und das haben wir noch nie gemacht. Wir haben diese Dauerschleife, die sich natürlich ewig wiederholt und nicht stoppt, aber es gibt auch eine andere Regelschleife, und dann haben wir diese Wiederholung und dann eine Reihe von Iterationen Wir können das zum Beispiel zehnmal wiederholen. Das geht hier zehnmal hin. Das brauchen wir nicht, erstellen Sie hier Klonblöcke. Auf diese Weise ist das nicht notwendig, wir erstellen zehn Klone, diese Schleife wird zehnmal wiederholt Lass uns das überprüfen. Wir sollten jetzt zehn Klone haben Das ist richtig, und jetzt ist es wirklich, wirklich schwierig, und ich würde sagen, dass es so unmöglich ist Sie haben also keine Chance , allen zehn auszuweichen. Vielleicht habe ich jetzt eine Chance, also ist das okay, aber jetzt wird es sehr schwierig, weil es hier vielleicht keine Lücke zwischen all diesen Felsen gibt. Das ist sehr schwierig, aber ich glaube, ich schaffe das. Aber wie dem auch sei, wir haben jetzt zehn Klone, und das ist sehr nett weil wir die Sprites nicht dupliziert haben, sondern Klone erstellt haben, und der Vorteil ist, dass Sie den Code hier nicht in zehn Sprites ändern müssen , sondern Sie müssen ihn nur hier in diesem Skript ändern Wenn wir zum Beispiel möchten, alle Klone in einem engen Bereich befinden, können wir das einfach hier ändern, wir können vielleicht zu diesem Bereich von -100 bis 100 zurückkehren. Alle Klone befinden sich innerhalb dieses X-Bereichs. Mal sehen, wie das aussieht. Und jetzt ist es für das Raketenschiff ziemlich einfach , den Klonen auszuweichen, weil du einfach bis zur Außengrenze fahren kannst Das ist hier nicht das Problem. Aber du siehst, du kannst es hier für alle Klone ändern. Alle Klone verwenden dasselbe Skript, und das ist ein sehr großer Vorteil Das ursprüngliche Sprite wird hier nur als Vorlage verwendet , um die Klone zu erstellen, nicht mehr, und es ist gleich zu Beginn versteckt, und alle Klone zeigen sich gleich zu Beginn, wenn sie als Klon erstellt werden Das ist irgendwie dieses Wen go click für die Klone, ähnlich, aber es ist Hier verwende ich diesen Wen-Go-Klick, wenn das Spiel gestartet wird, um alle Klone zu erstellen, die wir benötigen. Das ist auch ein sehr wichtiges Konzept, das Klonen, und auf diese Weise kann man hier Code-Duplizierung vermeiden, was sehr wichtig ist, zum Beispiel, wenn man so etwas wie Schüsse hat oder wir zum Beispiel auch Ressourcen haben, um nicht nur die Steine einzusammeln, sondern auch einige Objekte, die der Spieler sammeln sondern auch einige Objekte, die der Spieler Du brauchst auch vielleicht zehn davon, so etwas in der Art. Dann kann das auch sehr gut mit Klonen gemacht werden. Wenn du es mit dieser Vervielfältigung von Sprites machen würdest, würde das hier sehr, sehr chaotisch werden Wenn du etwas am Script ändern musst, wenn du zehn Duplikate eines Sprites hast, ist das sehr nervig, das Dies ist der richtige Weg, wenn Sie ähnliche Objekte derselben Vorlage haben ähnliche Objekte derselben Vorlage In diesem Fall sind es die Felsen, die Meteoroiden, und so macht man das hier von Grund auf Sie haben also dieses Template-Sprite, das hier auch mit den Kostümen und den Sounds und auch den Skripten definiert mit den Kostümen und den Sounds und auch den Skripten und auch Das ist die Vorlage für die Klone, und wann immer der Klon erstellt wird, bekommst du dieses Ereignis, wenn ich als Klon starte, und dann kann hier zum Beispiel das Hauptskript ausgeführt werden Und so haben wir jetzt zehn Steine. Aber es ist natürlich nicht sehr schön, dass jeder Stein die ganze Zeit in derselben Y-Position befindet. Also müssen wir sie ein wenig verteilen, und das werden wir im nächsten Video tun. 20. 20 Zufällige Verzögerung: Das wird ein kurzes Video sein. Wir werden das Spiel interessanter machen , indem wir Delay einführen. Was war das Problem oder was ist das Problem? Ich entferne das hier einfach wieder weil ich die Zufälligkeit bereits eingeführt habe, aber ich werde sie vorerst entfernen und dir das Problem noch einmal zeigen Jeder Stein hier befindet sich hier auf der gleichen mehr oder weniger gleichen Y-Position. Also fängt alles gleichzeitig an der Spitze an. Deshalb gibt es hier praktisch keine Möglichkeit, diese Felsen zu umgehen, mit Ausnahme der Zeiten, in denen es hier einige Lücken gibt, aber zum Beispiel ist es jetzt fast unmöglich, das hier zu passieren. Wie beheben wir das? Es ist sehr einfach. Wir müssen hier eine zufällige Verzögerung einführen. Also habe ich das hier schon vorbereitet. Warte eine zufällige Anzahl von Sekunden, und das führen wir hier am Anfang des Skripts ein. Wenn ich als Klon anfange, warte ich eine zufällige Anzahl von Sekunden, und dann beginnt die Bewegung. Wir können das hier platzieren, oder vielleicht können wir das auch in die Schleife legen, oder wir können das auch hier in Reset Random X einfügen. Lass es uns hier hinstellen. Und das wieder zusammenbauen. Jedes Mal, wenn wir anfangen, oder vielleicht sollten wir es auch nicht vor dieser Verzögerung zeigen Die Anzeige erfolgt nach dem Reset nach dem Zufallsprinzip. Wenn ich als Klon starte und nach dem Zufallsprinzip zurücksetze, wartet das Ganze auf eine zufällige Zeit und dann geht es zur Startposition , wo auch eine Zufallszahl zwischen -200 und 2.220 verwendet wird Wir verwenden diese Zufälligkeit hier zweimal indem wir darauf warten, die Position zurückzusetzen, und hier auch für die X-Position Versuchen wir es mit diesem Start und hier können wir sehen, dass das funktioniert. Manche sind in der gleichen Y-Position, aber wir können auch sehen, dass das hier nicht ganz richtig ist, weil hier alles noch unten sichtbar ist. Lass uns das beheben. Warum ist das so? Weil wir den Sprite hier nicht verstecken. Gehen wir zu Looks und verstecken es dann kurz vor dem Reset Random X. Auf diese Weise sollte es dort unten nicht sichtbar bleiben Jetzt verschwindet es unten und taucht dann mit zufälliger Verzögerung von oben wieder auf Aber wir haben vergessen, es noch einmal zu zeigen , das ist das Problem Lass uns die Show hier in dieses Reset-Zufalls-X einbauen und dann zeigen und dieses W, es wird auch hier nach der Verzögerung aufgerufen. Lass es uns neu starten. Da sind also die Felsen die dann unten verschwinden und oben mit zufälliger Verzögerung wieder auftauchen Auf diese Weise wird das Spiel ziemlich schwierig, denke ich, aber immer noch machbar Wir werden aber auch einige Objekte zum Sammeln vorstellen. Das wird dann für den Spieler interessanter sein , weil der Spieler die wertvollen Gegenstände einsammeln und den Felsen hier ausweichen muss . Und das ist natürlich schwieriger. Im Moment sind zehn Steine in Ordnung, denke ich, sollten okay sein, und jetzt können wir unsere wertvollen Ressourcen einbringen oder vielleicht oder so etwas Ähnliches, etwas, das der Spieler sammeln und vielleicht danach verkaufen kann . 21. 21 Sammeln von Sternen: In diesem Video stellen wir unsere Ressourcen vor, die der Spieler sammeln kann, es handelt sich also um Sammelobjekte, und wir implementieren sie sehr ähnlich wie Steine Das erste, was wir tun, ist den Rocks Sprite zu duplizieren, oder wir sollten ihn besser Rock nennen, weil es nur ein Stein ist Also benenne es einfach in Rock um und dann kannst du mit der rechten Maustaste auf den Sprite klicken Wählen Sie Duplizieren und jetzt haben wir einen zweiten Rock-Sprite. Als erstes benennen wir das in Ressource um und jetzt müssen wir natürlich das Kostüm ändern Vergewissere dich, dass du hier die Ressource Spray ausgewählt hast, und gehe dann zu Kostümen. Das ist das Rock-Kostüm. Wir entscheiden uns für ein anderes. Wir wählen hier also das Sternkostüm aus. Suchen Sie nach einem Stern und dann haben Sie ihn hier. Jetzt können wir das erste Kostüm löschen, das Rock-Kostüm. Und jetzt haben wir hier nur das Sternkostüm. Okay. Also wir haben Sterne und wir haben hier auch Code. Das Drehbuch ist genau das gleiche wie das Rock-Skript. Also können wir vielleicht damit anfangen und dann haben wir hier zehn Klone unseres Sterns Also mach das. Vielleicht nicht zehn, das sind zu viele. Fangen wir mit vier an. Und dann starten wir das Spiel. Also lass uns sehen. Da haben wir einen und da haben wir 12. Aber es macht nichts. Wenn ich sie treffe, macht es nichts. Sie sehen auch , dass alle Klone hier unten feststecken Lass uns das reparieren. Stoppt das Spiel. Warum werden sie hier nicht zurückgesetzt? Weil diese Coy-Koordinate nicht korrekt ist. Mal sehen, es ist diese Koordinate hier, weil wir natürlich die Ressource auswählen müssen, und sie ist auch versteckt, also müssen wir sie für den Moment einblenden. Und dann können wir es hierher ziehen, jetzt, so hier. Und dann ist das das Maximum oder das Minimum von Y, denn wenn ich versuche, es kleiner zu machen, springt es zurück auf -180 Also -180 ist hier die Grenze, und darauf müssen wir hier achten Wir müssen hier also nicht -180 eingeben, minus 179 weil die Y-Position darunter liegen muss Also lass uns das versuchen und sehen, ob alle Sterne verschwinden Okay, das scheint also zu funktionieren Sie verschwinden alle unten und tauchen hier oben wieder auf Das funktioniert. Wir können sie nicht abholen. Aber das werden wir natürlich umsetzen. Aber im Moment scheint es zu funktionieren. Vielleicht sind es ein bisschen zu viele Sterne. Ich glaube, wir haben hier das falsche Drehbuch geändert. Das sind zehn, und hier brauchen wir vier, jetzt sind es mehr Felsen als Sterne, also ist das besser. Auf diese Weise ist es schwieriger. Aber am Ende denke ich, dass zehn auch zu viel sind. Also lass uns sieben hier platzieren. Lassen Sie uns das noch einmal überprüfen. Ja, ich denke, das ist vernünftig. Natürlich müssen wir jetzt den Hit-Test hinzufügen . Also lass uns das machen. Der Treffertest für den Raketenchip für die Felsen ist da, aber wir können den Treffertest für die Sterne auch hier nicht durchführen, weil wir die Ressource hier verstecken und ihre Position neu einstellen müssen , wenn die Raketenhüfte sie trifft. Das können wir hier also nicht tun, denn von hier aus können wir nicht dafür sorgen, dass die Ressource verschwindet, der Stern verschwindet. Was wir also tun müssen, ist dasselbe oder fast dasselbe zu tun , was wir hier tun. Also, wenn es mit Felsen in Berührung kommt, muss es hier in der Ressource sein. Gehen wir also zum Sensorraketen-Chip über. also den Raketenchip berühren, müssen wir hier ein „ob“ eingeben. Wenn Sie den Raketenchip berühren. Dies ist der Zustand, nach dem wir suchen müssen. Also ich berühre Raketenchip, und das ist etwas, was wir tun müssen, wir müssen den Fevepe hier am Lassen Sie uns das tun, wenn wir den Raketenchip berühren, dann können wir es natürlich verstecken Also lasst es uns verstecken und erneut testen. Wenn der Stern das Raketenschiff trifft oder es berührt, sollte er verschwinden, und das scheint zu funktionieren. Aber das Problem ist Wenn ich es einmal getroffen habe, kriege ich natürlich keine Punkte dafür, weil wir hier nichts zählen . Dann lass uns das machen. Was brauchen wir, um die Ressourcen zu zählen? Natürlich brauchen wir eine Variable, also gehen wir zu Variablen, erstellen eine Variable und nennen sie Ressourcen. Und das kann für alle Sprites gelten. Jetzt haben wir Ressourcen, und ich habe das hier auf der anderen Seite des Bildschirms platziert Wenn wir das Raketenschiff treffen, müssen die Ressourcen erhöht werden, wir können es auf eins setzen, also ändern Sie einfach. Nach dieser Höhe können wir die Ressourcen um eins ändern. Denken Sie daran, wenn der Raketenchip auf einen Stein trifft, ändern wir die verbleibenden Reparaturen um minus eins, also nimmt er ab, und hier erhöhen wir die Ressourcen. Lass uns das versuchen. Und da ist der erste Stern. Ja, und es funktioniert. Ressourcen ist eine gesammelte Ressource, und jetzt haben wir zwei, drei, 45 und so weiter. Das scheint zu funktionieren, und ich denke, es ist ziemlich einfach. Vielleicht sollten wir die Anzahl der Steine hier wieder erhöhen. Vielleicht ist das zu einfach. Okay, lass uns das machen. Anzahl der Steine ist hier, siebenmal wiederholen, also vielleicht neun Mal wären okay. Jetzt wird es schwieriger. Natürlich ein Absturz. Erster Absturz und mal sehen. Da ist ein Stern. Dieser ist unerreichbar, aber ich verstehe ihn, also habe ich 21 Sterne. Natürlich haben wir etwas vergessen. Wir haben vergessen, diese Variable hier zurückzusetzen. Lassen Sie uns diesen Satz machen, und wir machen das hier am Anfang, wenn auf Ressourcen auf Null klicken. Wir beginnen bei null Ressourcen und drei Reparaturen. Und ich habe jetzt vier. Bei diesem schaffe ich es nicht, fünf zu erreichen, und so weiter. Immer noch nicht sehr schwierig, aber manchmal ist es wirklich knapp. Ich denke, das ist okay. Wir haben ein funktionierendes Ressourcensystem, so dass der Spieler mit dem Raumschiff die Sterne sammeln kann und die variablen Ressourcen hochzählen und was wir mit den Sternen machen können Wir entscheiden später, vielleicht können wir hier Upgrades für unser Raumschiff kaufen, oder wir können vielleicht Reparaturen dafür kaufen , sodass wir mehr Leben haben als so etwas Aber im Moment funktioniert das Sammeln von Ressourcen, und das ist sehr nett. Das ist fast ein Spiel. Du kannst also schon anhand der gesammelten Ressourcen sehen, wie gut der Spieler ist. 22. 22 Landung auf einem Planeten: Jetzt, wo der Spieler Ressourcen sammeln kann, sammle Sterne. Wir brauchen eine Möglichkeit für den Spieler, diese Ressourcen zu verkaufen und dafür etwas zu bekommen, zum Beispiel ein Upgrade des Raumschiffs oder eine andere Reparatur, also sozusagen ein anderes Leben Und das werden wir mit Planeten machen, damit der Spieler auf Planeten landen kann Also müssen wir hier einen weiteren Sprite hinzufügen, ähnlich wie Sterne, ähnlich wie Felsen Also kopieren wir einfach unsere Ressource Sprite hierher, also klicken Sie einfach mit der rechten Maustaste auf Ressource Und dann wechseln wir das Kostüm, also gehen wir zu Kostümen und wählen dann ein Kostüm aus und wir betreten den Planeten, und wir haben diese Erde hier. Aber wir nehmen diesen zweiten Planeten hierher. Und jetzt können wir das erste Kostüm hier löschen. Das brauchen wir nicht mehr. Und dann gehen wir zum Code über. Und hier möchten wir das vielleicht ändern, vielleicht viermal wiederholen. Brauchen wir also vier Planeten? Ich glaube nicht. Vielleicht können wir hier zwei Planeten gebrauchen. Also muss der Spieler einen Planeten berühren, muss mit ihm kollidieren und dann wird es automatisch eine Landung auf diesem Planeten sein automatisch eine Landung auf diesem Planeten Wir müssen hier auch den Hintergrund ändern. Im Moment haben wir also nur diesen leeren weißen Hintergrund, und wir werden einen weiteren hinzufügen. Wählen Sie also einen Hintergrund. Und dann können wir hier nach einer Stadt suchen und vielleicht diese U-Bahn nehmen. Also das wird hier hoffentlich ein bisschen futuristisch aussehen. Und das Problem ist im Moment, dass Sie es nicht sehen können. Also haben wir hier natürlich diese beiden Hintergrund-Sprites. Wenn wir sie verschieben, können Sie sehen, dass es tatsächlich den Hintergrund, hier tatsächlich den Hintergrund, den neuen Hintergrund Aber wenn wir das Spiel starten, wirst du es einfach nicht sehen. Und da haben wir unseren Planeten, den ersten Planeten, und das ist im Moment dasselbe wie eine Ressource. Das ist also genau derselbe Code, also wird er auch die Ressourcen hier erhöhen. Aber das ist nicht das, was wir wollen. Wir wollen etwas anderes. Wir müssen diese beiden Kulissen verstecken um den wahren Hintergrund hier zu sehen Das ist also der erste Hintergrund-Sprint und der zweite, und wir müssen sie verstecken. Wie verstecken wir die Hintergrund-Sprites? Wir wählen hier den ersten aus. Wir werden uns hier in diese ewige Schleife begeben. Und wir werden es mit einer Bedingung abschließen. Diesmal nehmen wir nicht die normale Wenn-Dann-Bedingung, sondern wir gehen hier zu den Kontrollen über und nehmen dann die Wenn-Dann-Else-Bedingung. Also zieh das hierher. Also haben wir fast das Gleiche wie hier, aber wir haben diesen anderen Fall. Und dieser andere Fall wird ausgeführt, wenn diese Bedingung hier zuerst einmal nicht erfüllt ist. Also lasst uns den ersten Block hier platzieren, den, der in der For-Evlope war Setzen wir das hier in das erste, wenn. Also wenn wir etwas haben, wir müssen uns die beiden einfallen lassen, dann machen wir das. Und wenn etwas nicht erfüllt ist, also wenn nicht diese Bedingung hier, dann werden wir das anders machen. Lassen Sie uns darüber nachdenken, welche Bedingung wir hier brauchen? Ich werde hier eine globale Variable verwenden. Wir haben schon einmal Variablen verwendet, also sollten Sie damit vertraut sein. Ich erstelle hier eine Variable, und das ist für alle Sprites sehr wichtig, weil alle Sprites die Variable benötigen, die Achse zur Variablen benötigen, die Achse zur Variablen benötigen, und wir werden es Travel Stopped nennen Das Reisen durch den Weltraum wird gestoppt, wenn das irgendwie stimmt, aber wir werden sehen, wie das aussieht Der Reisestopp ist momentan Null, wie du hier sehen kannst, weil wir ihn anzeigen. Aber das ist nicht das, was wir wollen. Wir werden das am Ende nicht anzeigen, also verschieben wir das. Jetzt müssen wir bei einem Anbieter nach Reisen suchen , die hier angehalten wurden. Lassen Sie uns hier die Gleichheit überprüfen, nehmen diesen und ziehen ihn in diese Wenn-Bedingung. Und dann gehen wir zu Variablen und ziehen unsere Reisestopp-Variable hierher. Wenn also der Reisestopp gleich Null ist, was der Startwert ist, dann mache ich ist, was der Startwert ist, die Dinge die wir zuvor gemacht haben, im Umschlag und sonst müssen wir etwas anderes tun Und das heißt, wir können den Sprite verstecken. Also lass uns das machen. Wenn der Reisestopp nicht Null ist, dann verstecken wir den Geist hier. Jetzt können wir diesen Block wieder in die Forever-Schleife setzen , und es wird natürlich keine Änderung geben, weil wir in diesem Fall immer hier sein werden , wenn der Reisestopp gleich Null ist, weil dies der Anfangswert der Variablen ist und die Variable im Moment nicht geändert Okay. Im Moment ist also nichts gewonnen. Aber wir werden das tun, wenn wir auf Ressource zwei stoßen, und das sollten wir übrigens in Planet umbenennen. Also mach das jetzt. Also haben wir den Planeten hier. Und wenn wir den Planeten treffen oder wenn der Planet das Raketenschiff trifft, das im Moment, sich verstecken und dann die Ressourcen um eins ändern. Wir werden das Versteck hier lassen. Aber wir müssen die Änderungsressourcen nach und nach loswerden denn das ist kein Stern, es ist ein Planet, und das sollte den Hintergrund, das Sprite hier oder beides verstecken Sprite hier oder beides Hier müssen wir diesen Reisestopp variabel einstellen. Gehen Sie also zu Variablen und wählen Sie diesen Block, setzen, reparieren, links aus. Wir ändern das in Reisestopp und platzieren das hier hinter dem Versteck. Also legt Reisestopp zwei, eins fest. Zum Beispiel alles andere, außer Null, machen wir hier. Wenn also das Raumschiff den Planeten trifft, dann wird der Reisestopp auf eins gesetzt, und das wird dazu führen, dass es fehlschlägt Also, wenn wir in der Festung sind und an einen Punkt kommen, an dem das Ob Also, wenn der Reisestopp gleich Null ist, wird das nicht mehr wahr sein, und es wird sich um diesen anderen Lass uns das versuchen. Lassen Sie uns sehen, wann der erste Planet ankommt, da ist er, und wir sehen, dass er funktioniert. Natürlich versteckt er nur den ersten, hier den Hintergrund. Wir müssen diesen Block hier duplizieren. Wir müssen etwas in den zweiten Hintergrund stellen. Machen wir das, gehen wir zur Kontrolle und wir haben das, wenn dann sonst, und wir setzen diesen Block in das Wenn dann, und dann können wir diese Bedingung hierher kopieren. Ich, das hier, zieh das raus. Es wird zurückgehen, aber ziehen Sie das hier in den zweiten Hintergrund, lassen Sie es fallen, und dann kehrt es an den vorherigen Ort zurück, und jetzt haben wir es hier. Also können wir das hier in das Wenn dann hineinziehen. Jetzt haben wir, wenn der Reisestopp gleich Null ist, dann machen wir das, was wir vorher gemacht haben, und sonst können wir den Sprite auch hier verstecken Also sonst verstecke den Sprite. Schieb das zurück ins Fp und jetzt sollten beide Hintergründe verschwinden Also machen wir das noch einmal, und wir sehen das Problem hier darin, dass die Hintergründe nicht mehr angezeigt werden , weil wir sie nicht mehr zeigen, wenn auf Go geklickt wird Lass uns das machen. Zieh diese Sendung hierher. Und ziehen Sie die Show auch im zweiten Sprung hierher, und jetzt sollte sie wieder funktionieren Also geh. Warum funktioniert es nicht? Weil wir die Reise eingestellt haben. Wenn wir es anzeigen können, werden Sie sehen, dass der Reisestopp eins ist und nicht mehr Null , weil das Skript ihn hier auf Null gesetzt und er nicht zurückgesetzt wird. Automatisch müssen wir das machen. Da wir es hier machen, können wir es vielleicht auch hier machen, das Zurücksetzen Also einfach Reisestopp 20 setzen, wenn Go angeklickt wurde, und jetzt haben wir wieder unseren Hintergrund Und dann haben wir den Planeten, mal sehen. Okay, jetzt sehen wir den Hintergrund hier, diesen Brackdrop hier. Aber hier gibt es noch ein Problem oder mehrere Probleme, weil sich alles immer noch bewegt, bis auf die Hintergründe Aber die ganzen Felsen und die Sterne, alles bewegt sich immer noch. Also müssen wir diese Logik auch hier anwenden. Das wenn sonst. Nein, wo wir es hier haben, wenn der Reisestopp gleich Null s ist wie bei den anderen Sprites Also lass uns das machen, geh zum Rock. Und dann haben wir hier den Feverop, den Game-Loop. Dann holen wir uns hier mal, ob sonst. Wir können das dann in das Wenn hineinziehen. Und dann können wir das auch hierher ziehen und auf den Felsen kopieren, und wir gehen wieder zum Felsen und setzen dann, dass der Reisestopp hier in der If-Bedingung gleich Null Und im S-Block werden wir den Sprite hier verstecken Dann werden wir das wieder in die Endlosschleife bringen. Jetzt sollten die Felsen hier alle unsichtbar sein. Lass uns das versuchen. Vielleicht kommt der Planet, da ist er, und du siehst, dass die Felsen verschwunden sind. Der Planet muss auch verschwinden, und natürlich auch die Sterne. Gehen wir zu den Sternen und wir machen hier dasselbe, wenn dann sonst, nimm das und lege es hier in den N-Fall, und wir kopieren diesen Zustand auch hier in die Ressource. Benutze es hier und verstecke das Sprite dann im anderen Fall. Okay, leg es wieder in den For Evo. Was fehlt, ist ein Planet. Also machen wir hier dasselbe. Wenn sonst. Und dann schleppen wir diesen Zustand auf unseren Planeten. Setze das in den If-Zustand. Und dann geht dieser Block in den Fall Dann über, und im anderen Fall werden wir alles verstecken. Okay. Versuchen wir es jetzt und verstecken wir die Variable hier. Ravel, hör auf. Das muss nicht angezeigt werden Lass uns das versuchen. Oh, es gibt einen Planeten. Aber wir haben etwas falsch gemacht. Natürlich haben wir etwas falsch gemacht. Wir haben das Ganze nicht, wenn auch nicht, in die Favepe gesteckt. Lass uns das nochmal machen. Und da haben wir einen Planeten. Und jetzt haben wir das Raketenschiff. Trotzdem kann das Raketenschiff vielleicht auch verschwinden, weil es hier auf diesem Planeten gelandet ist, also sollte es vom Spieler nicht bewegt werden können, und der Spieler sollte hier etwas anderes tun müssen Der Spieler sollte die Ressourcen hier eintauschen. Also lass uns das für das Raketenschiff machen kontrollieren, ob dann sonst. Und alles drin. Die Forever-Schleife wird im Fall n hierher verschoben, und das ist ein sehr langer Block hier, und wir bekommen die Bedingung von hier, vielleicht ist es nicht wirklich wichtig, weil es dasselbe ist, aber so ist es einfach schneller. Hier haben wir es. Stell das hier hin. Wir können es schon wieder in die Endlosschleife legen und im anderen Fall verstecken wir das Schiff. Und dann lass uns das versuchen. Und es gibt einen Planeten, aber es gibt einen zweiten Planeten, und wir nehmen diesen. Und jetzt ist alles weg, nichts weiter, nur der Hintergrund hier, und genau das wollten wir. Also wird hier nichts getan werden. Diese ewige Schleife wird für immer wiederholt und die Sprites werden immer ausgeblendet Jedes Sprite hier ist in dieser Schleife versteckt, und vielleicht sollten wir hier noch etwas anderes hineinlegen, weil jetzt alles nur noch in einer Schleife läuft und sich versteckt, und wir können auch ein bisschen Ressourcen, die CPU-Zyklen, sparen , wenn wir Wir können also warten, lassen Sie uns hier 1 Sekunde warten. Also alles ist in dieser ewigen Schleife, und es wird sich verstecken und dann 1 Sekunde warten. Und in dieser 1 Sekunde die CPU für diesen Sprung ist die CPU für diesen Sprung zumindest inaktiv Also ich denke, das ist eine gute Idee. Lass uns das in jeder Sparte machen. Wir werden hier einige CPU-Zyklen speichern, hier etwas Leistung sparen. In jedem anderen warten wir also 1 Sekunde. Aber wenn wir die Reise durch den Weltraum wieder aufnehmen, wird es natürlich zu einer Verzögerung von maximal 1 Sekunde kommen, weil es hier wahrscheinlich im Wartezustand befindet, wenn wir zurückwechseln, und wenn wir den Reisestopp wieder auf Null setzen, werden die Sprites oder einige der Sprites, zumindest hier warten Es wird also eine kurze Verzögerung maximal 1 Sekunde. Okay. Also hier ist der letzte, schätze ich. Lassen Sie uns hier eine Sekunde warten. Okay, jetzt müssen wir in jedem Sprite 1 Sekunde warten, dann wird das die CPU schonen Jetzt können wir auf einem Planeten landen. Alles ist gestoppt und versteckt, und hier können wir unseren Handel umsetzen. 23. 23 Refactoring des Raketenschiff-Skripts: Bevor wir hier mit dem Handel beginnen, möchte ich etwas Refactoring bedeutet, dass Sie Ihren Code umstrukturieren , um ihn lesbarer und wartbarer zu machen zu Wenn wir uns dieses Skript hier ansehen, diesen Block innerhalb der For-Schleife auf dem Raketenschiff, können Sie sehen, dass es ein bisschen zu lang und nicht sehr verständlich, nicht sehr verständlich ist Also, was können wir hier extrahieren? Ich würde also sagen, dass wir das hier extrahieren werden. Also das Äußere, wenn lassen wir es so, wie es ist , und das hier können wir in zwei Teile trennen. erste Teil ist, wenn Taste mit der Pfeiltaste nach oben gedrückt wird und alle Tasten hier stehen, und der zweite Teil ist dieser hier, wenn Sie einen Felsen berühren. Also trennen wir sie so. Wir haben das hier herausgerissen und diese beiden Teile dieses langen Blocks hier getrennt , innerhalb dieses, falls der Reisestopp gleich Null Und wir erstellen hier zwei Blöcke für diese beiden Teile. Der erste Block wäre der Teil, der den Spieler kontrolliert. Dieser Teil sucht nach Tasten, die gedrückt werden, und steuert dann das Raumschiff Nennen wir das Spielersteuerung und drücken einfach. Jetzt haben wir diesen definierten Block hier und ziehen einfach diesen ersten Teil hierher zu dieser Definition. Wir definieren hier die Spielersteuerung mit diesen vier Wenns. All diese Wenns suchen nach einer Taste, und die Pfeiltaste, wenn diese gedrückt wird , und ändern dann X oder Y. Okay, der zweite Teil ist dieser, hier geht es um den Zustand, wenn das Raumschiff auf einen Felsen trifft, und das nennen wir den Block, auch Schlagtest, oder vielleicht nennen wir es Steinschlagtest Hier haben wir also diese Definition für den Rocky-Test, und ziehen wir sie einfach hierher Wir haben also diese beiden Funktionen oder diese beiden Blöcke, Prozeduren, wie auch immer Sie sie nennen mögen. Bei Scratch werden sie benutzerdefinierte Blöcke oder M-Blöcke genannt. Und jetzt müssen wir diese beiden Blöcke hier in unserer Dauerschleife so nennen , dass der Stopp bei „Ich reise gleich Null ist. Lass uns das hier reinstellen Spieler kontrollieren den ersten Rocky-Test danach. Und jetzt sollte das Spiel wie zuvor funktionieren. Lass uns das versuchen. Hier funktioniert die Steuerung, und wir können auch, ich habe den Planeten getroffen. Also lass es uns noch einmal versuchen. Ich möchte gegen einen Felsen fahren , damit ich den Absturz sehen kann. Und es gab auch einen Planeten. Deshalb sind wir hier in der Stadt. Also versuchen wir es noch einmal. Bin hier einfach auf einen Stein gestoßen. Okay. Da hast du's. Alles funktioniert genauso wie zuvor. Und das ist natürlich auch der Vorteil des Refactorings oder Anforderung eines Refactorings, dass die Funktionalität dieselbe sein sollte wie Also hier ersetzen wir hier nur diese beiden Teile dieses langen Blocks durch zwei benutzerdefinierte Blöcke Und wir rufen sie einfach hier an. Und vielleicht sollten wir das hier auch mit einem großen P schreiben , damit es dem Rock-Hit-Test entspricht. Darum geht es beim Refactoring also. Sie ändern nicht die Funktionalität, Sie ändern nicht, wie sie funktioniert, aber Sie ändern die Struktur und machen sie lesbarer, wartungsfreundlicher Was meine ich mit wartbar? Sie können hier also sehen, dass es sich um zwei Blöcke mit separater Funktionalität handelt zwei Blöcke mit separater Funktionalität Hier ist die Spielersteuerung und hier ist der Rock-Hit-Test. Jemand, der mit dem Code nicht vertraut ist, oder vielleicht Sie selbst , oder vielleicht Sie selbst , der den Code vielleicht nicht besser kennt weil Sie hier vielleicht vor einem Monat , weil Sie hier vielleicht vor einem Monat etwas geändert haben. Jetzt sind Sie sich nicht sicher, wie dieser Code funktioniert. Aber wenn Sie es auf diese Weise tun, wenn Sie den Code in Ihren eigenen benutzerdefinierten Block und diese Blöcke dann hier aufrufen, können Sie ihn besser verwalten, was bedeutet, dass Sie den Code, der geändert oder erweitert werden muss, besser finden können . Und dann können Sie auch den Code verstehen, der da ist. Hier kann ich also sofort erkennen, dass es hier um die Kontrolle durch den Spieler geht, und das ist der Rock-Hit-Test. Es ist also sehr einfach , hier zum Beispiel eine weitere Taste in diese Blockspielersteuerung einzufügen. Also drücke ich, sagen wir, die Leertaste gedrückt, dann schieße etwas ab wie einen Laserstrahl oder so. Also das kann hier erweitert werden. In diesem benutzerdefinierten Block und für den Raketentest möchten Sie vielleicht auf etwas anderes testen, nicht nur auf den Felsen, und dann müssen Sie diesen natürlich umbenennen , oder Sie definieren hier einen anderen Block. Zum Beispiel können wir auf ein anderes Hindernis testen , ich weiß nicht, vielleicht ein schwarzes Loch, so etwas, und dann können Sie einen anderen schwarzen Loch-Treffertest definieren, oder Sie können das hier in diesen Raketentest einfügen und es in Just hit test umbenennen , zum Beispiel, das wird eine Option sein, oder Sie haben zwei Blöcke. Einer für den Steinschlag, einer für das Schwarze Loch, Schlagtest, das können Sie entscheiden. Aber der Vorteil des Refactorings dieses Refactorms hier ist, dass es hier viel besser lesbar ist Sie können sehen, welcher Block was macht? Weil du sie benennen kannst und du auch leichter die Stelle finden kannst , an der du Änderungen vornehmen musst. Okay, das ist also unser erstes Refactoring oder nicht das erste Wir haben die benutzerdefinierten Blöcke bereits verwendet . Wenn wir also zum Felsen selbst gehen, haben wir auch diesen Reset Random, und das ist auch eine Art Refactoring weil wir das schon einmal hatten, hier in dieser langen Liste von Blöcken, und wir haben es sozusagen in diesen Block umgestaltet und es hier Reset Random X genannt. Und wenn ich als Klon anfange, Reset Random X. Also das war auch Refactoring, aber das ist hier mehr Ich habe es schon einmal angekündigt. Wir führen ein Refactoring durch und wir werden die Funktionalität hier nicht ändern ist immer noch dieselbe wie zuvor, aber hier haben wir einen besser lesbaren Code und einen besser erweiterbaren 24. 24 Schalthintergründe: Noch eine Vorbereitung, bevor wir in den Handelsbildschirm gehen in den Handelsbildschirm Schauen wir uns die Hintergründe noch einmal an. Bisher haben wir nur einen Hintergrund hinzugefügt, und dieser wurde festgelegt, wenn wir hier die Bühne auswählen, dann haben wir hier Hintergründe Wir haben einen mit der U-Bahn hinzugefügt, und wir hatten vor diesem Hintergrund einen , der der erste ist Wir könnten das theoretisch einfach löschen, weil wir im Moment nur einen benötigen, aber ich möchte hier zeigen, wie man zwischen den Kulissen wechselt Wir machen den ersten vielleicht in einer Farbe wie, lass uns ihn machen, vielleicht komplett schwarz Stellen Sie hier die Helligkeit auf Null und dann haben wir eine Füllung mit Schwarz. Benutze dieses Rechteck mit Schwarz einfach so hier. Wir werden dieses Rechteck hier einfach mit der Maus überspannen und schon haben wir den Hintergrund. Okay. Also das ist unser erster Hintergrund, also müssen wir ihn auch einstellen. Also lass uns das in den Rocket-Hip-Code schreiben. Wenn auf die Flagge geklickt wurde, wenn auf Los geklickt wurde, dann müssen wir den Hintergrund wechseln, und das ist hier unter Aussehen, also kannst du hier das Kostüm für den Sprite wechseln, aber du kannst auch Also lass uns das machen, Hintergrund zwei wechseln, dann Hintergrund eins, du kannst es auch umbenennen, aber lassen wir es so Hintergrund eins ist der schwarze. Also haben wir das, und jetzt ist das Problem, warum wir nichts sehen, wenn wir ein Spiel starten, dass ich hier in Planet etwas eingefügt habe , um Reisen auf eins einzustellen, sodass ich die gesamte Phase Reisen durch den Weltraum überspringen und dann direkt zu diesem Bildschirm gehen kann Phase Reisen durch den Weltraum überspringen und dann direkt zu diesem Bildschirm gehen weil wir diesen Bildschirm als Nächstes implementieren wollen. Deshalb habe ich diese Abkürzung hier eingefügt. den Reisestopp hier am Anfang auf eins setzen , springen wir einfach in diesen Zustand, der genauso ist , als ob der Raketenchip auf einen Planeten trifft. Aber ich werde es vorerst so belassen. Kommen wir zurück zum Raketenchip, also wechsle ich Hintergrund zwei, Hintergrund eins, oder ich kann den Hintergrund auch auf Metro umschalten. Es ist dasselbe. Je nachdem, wofür ich mich hier entscheide, wird das unsere Startkulisse sein, entweder die schwarze oder die U-Bahn. So können Sie also zu einem anderen Hintergrund wechseln. Und das sollten wir auch am Anfang tun, hier zu diesem Hintergrund wechseln. Und wenn wir dann auf einen Planeten treffen und dieser hier sein wird. Wenn wir also den Raketenchip auf dem Planeten Sprite berühren, dann verstecken wir den Planeten Sprite natürlich und setzen dann die Reise auf zwei, eins Und dann müssen wir auch hier auf die U-Bahn im Hintergrund umsteigen Und wenn wir diesen Hintergrund sehen wollen, sollten wir ihn auch hier einstellen weil ich diese Abkürzung hier hinzugefügt habe, ich kann ihn für den Moment herausnehmen, dann würden wir sehen, ich muss ihn wieder einsetzen und auf Null setzen. Natürlich, andernfalls bleibt es auf einem. Jetzt verhalten wir uns hier genauso und wenn wir auf einen Planeten treffen, gehen wir zu diesem Hintergrund. Und auch alles andere wird gestoppt. So verändert man Kulissen. wechseln diesem Block können Sie hier auch den Hintergrund ändern oder zum nächsten Hintergrund Das ist auch möglich. Sie können eine Animation von Hintergründen erstellen , das ist auch möglich Was Sie jedoch nicht tun können, ist, dass Sie den Hintergrund nicht verschieben können. Verschiebe den Hintergrund. haben wir diese beiden Sprites hier gemacht, für einen bewegten Hintergrund und für einen bewegten Hintergrund Die Bühne hier, die Kulissen auf der Bühne sind nicht diesem Grund haben Sie hier nichts in Bewegung, wenn Sie die Bühne auswählen, und Sie können die Kulissen ändern Wechseln Sie hier sozusagen die Kostüme der Kulisse mit diesen Blöcken. Hintergrund auf Metro und Gewicht umschalten ist ebenfalls möglich und auch der nächste Hintergrund. Wir haben diesen verwendet, Hintergrund wechseln zwei und dann einen bestimmten Hintergrund. Warum haben wir diesen zweiten Hintergrund wechseln und warten? Das liegt daran, dass es auch ein Ereignis gibt , wenn der Hintergrund zwei wechselt, und dieser Block hier wartet auf jedes Script, das durch diesen Wechsel des Hintergrunds ausgelöst wird . Schauen wir uns hier unter Ereignisse an, wenn der Hintergrund auf, sagen wir Metro, wechselt , dann können wir auch hier ein Script ausführen, Blöcke hier darunter. Dass wir hier warten diese Skripte fertig sind, und dann hier weitermachen. Wird ein ähnliches Verhalten zeigen, wenn wir dieses Jahr eine Nachricht erhalten, aber wir werden vorerst keine Nachrichten verwenden, deshalb werde ich hier nicht näher darauf eingehen. Nur dass ihr wisst, dass dies auch auf jedes Skript wartet , das sich darunter befindet, wenn der Hintergrund aktiviert wird, und es wird warten, bevor es hier weitergeht. Das sind die Hintergrundblöcke hier und wir können zwischen den Hintergründen wechseln. Im Moment macht das nicht viel Sinn, weil wir mit diesem beginnen den Metro-Background umsteigen, aber du kannst den ersten Hintergrund sowieso nicht sehen, weil wir hier unsere eigenen Hintergrund-Sprites gemacht haben Es könnte etwas anderes sein. Wir könnten unsere Kostüme einfach hier in den Sprites machen , ohne das Nehmen wir an, wir hätten hier einfach kein schwarzes Rechteck, damit wir es loswerden können Jetzt haben wir nur noch diese Kreise hier und die gleichen hier. Wir können das gelöschte Rechteck auswählen oder hier Löschen, Löschen drücken. Und jetzt haben wir immer noch den schwarzen Hintergrund. Das liegt also daran, dass wir hier diesen Hintergrund in dieser Farbe haben. Wir würden diese Farbe ändern. Also lass uns hier die Farbe ändern. Lass es uns rot machen. Lass uns sehen, wie das funktioniert. Jetzt haben wir also einen roten Hintergrund und die Sterne, diese Punkte hier, diese Kreise sind immer noch weiß, aber die schwarze Linie hier umrandet. Wir können das auch loswerden, aber das werde ich hier nicht tun, weil es im Weltraum normalerweise schwarz ist, also machen wir es wieder schwarz. Jetzt haben wir dasselbe. Aber auf diese Weise ist es wichtig, dass wir den Hintergrund wechseln , wenn wir hier auf einen Planeten treffen. Wenn der Spieler auf einen Planeten trifft, wird der Hintergrund auf die Stadt geändert, sodass wir verschiedene Szenarien haben können , in denen das Spiel stattfindet. Im nächsten Video werden wir wirklich handeln. 25. 25 Reparaturen kaufen: Okay, lassen Sie uns den Handel implementieren, sodass der Spieler die Ressourcen eintauschen, verkaufen und zum Beispiel bekommen kann die Ressourcen eintauschen, verkaufen und zum Beispiel bekommen Als Erstes wollen wir hier eine Reparatur als zusätzliche Reparatur durchführen lassen . Zu Beginn hat der Spieler drei Reparaturen, und dann kann er Ressourcen sammeln und diese dann gegen eine weitere Reparatur eintauschen . Dafür benötigen wir einen Button, also lasst uns hier ein neues Sprite erstellen Klicken Sie darauf, wählen Sie ein Sprite aus, und hier im Suchfeld können Sie eine Schaltfläche eingeben, und dann haben Sie hier einige Schaltflächen und hier im Suchfeld können Sie eine Schaltfläche eingeben, und dann haben Sie hier einige Schaltflächen . Ich nehme diesen Du kannst auch diesen nehmen. Es ist nicht wirklich wichtig, aber Sie müssen in Betracht ziehen, ein wenig Platz innerhalb der Schaltfläche zu haben , um einen Text darin anzuzeigen. Ich werde dieses auswählen und hier haben wir es und wir können hier zu Kostümen gehen und einen Text einfügen. Lassen Sie uns das tun, wählen Sie hier dieses Textwerkzeug aus und klicken Sie dann auf die Stelle, an der der Text sein soll. Dann geben wir meine Reparatur ein. Wir können hier auch die Farbe der Schrift auf Schwarz ändern. Machen wir das, indem wir die Farbe auf Schwarz setzen, und sie ist hier ein bisschen zu groß. Machen wir es kleiner. Sie können diese Ecke hierher ziehen und sie verkleinern. So etwas wie das. Wir können hier auch einen anderen Text einfügen , in dem angegeben ist, wie viel das kosten wird. Nehmen wir an, fünf Ressourcen sind der Preis. Lassen Sie uns diese zwei kleineren machen und sie irgendwo hier platzieren. Ja, ich denke, das ist okay. Wenn Sie möchten, können Sie hier die Hintergrundfarbe ändern Wählen Sie hier den Pfeil aus. Dieser und dieser können hier geändert werden, sodass Sie hier auch eine Volltonfarbe wählen können. Kein Farbverlauf. Das ist ein Gradient. Das ist durchgehend, und das ist auch ein Farbverlauf von oben nach unten, und das ist ein kreisförmiger Farbverlauf. Also, wie Sie möchten, werde ich hier eine einfarbige Hintergrundfarbe wählen. Ja, ich denke, es sollte etwas sehr Helles sein, um Kontrast zu haben. Ich denke, das ist okay. Und jetzt können wir das Sprite irgendwo platzieren Vielleicht hier, und vielleicht sollte der Rand eine andere Farbe Lass uns einfarbig, eine Art Blau wählen, vielleicht, vielleicht ein bisschen heller. Ich denke, das ist okay. Lassen wir es auch so. Wir können dieses Jahr auch löschen. Wir brauchen hier nicht das zweite Kostüm für den Knopf. Jetzt haben wir den Button, und jetzt müssen wir ihn natürlich in dem Moment anzeigen, in dem er angezeigt wird, und das ist nicht gut, denn wenn wir das Spiel starten, sollte er nicht da sein. Also gehen wir zum Code und dann zu Ereignissen, wenn auf Go geklickt wird, dann müssen wir es verstecken Also das ist natürlich Unders. Und jetzt ist es versteckt , wenn wir das Spiel starten. Natürlich sollte es angezeigt werden, wenn wir diese Stadt hier auf diesen Planeten gehen, und jetzt sollte es angezeigt werden. Wie machen wir das? Wir könnten hier eine Schleife machen, auch für immer, und zum Beispiel überprüfen , ob diese Reise gestoppt wurde. Es ist aber nicht notwendig, hier eine Dauerschleife zu haben. Es gibt einen anderen Mechanismus, den wir hier verwenden können, und hier geht es um Nachrichten. In Scratch können Sie Nachrichten von einem Sprite an andere Sprites an alle anderen Sprites senden , und Sie können verschiedene Nachrichten haben, und das finden Sie hier unter Ereignisse Von hier aus, wenn ich Nachricht eins erhalte, sende ich Nachricht eins und sende Nachricht eins und warte diesen drei Blöcken geht es um Nachrichten, In diesen drei Blöcken geht es um Nachrichten, und das ist hier wichtig, weil es eine sehr gute Möglichkeit ist, eine Nachricht an andere Objekte im Spiel zu senden . Welche Botschaft wollen wir senden? Wir möchten die Nachricht senden, dass der Handelsbildschirm hier angezeigt werden soll. Im Moment haben wir nur das Verschwinden aller Sprites auf all diesen Raketenschiff-Planetenfelsen im Hintergrund, für Evepe implementiert und mit diesem und mit Aber wir könnten das natürlich auch für dieses neue Sprite für dieses Button-Sprite tun für dieses neue Sprite für dieses Button-Sprite und nach Reisestopp suchen und wenn Reisestopp eins ist, dann können wir das Sprite zeigen, aber meiner Meinung nach gibt es hier einen viel einfacheren Weg , den Nachrichtenmechanismus zu verwenden. Wir müssen eine Nachricht senden, wenn der Handelsbildschirm angezeigt werden soll, und dann sollte auch der Button Also hier setzen wir den Reisestopp auf eins und das lässt alle anderen Geister hier verschwinden, bis auf den Button Hier genau in diesem Fall hier, wenn wir nach oder vor dem Reisestopp auf eins setzen, können wir eine Nachricht senden Eine Nachricht senden bedeutet, dass wir einfach eine Nachricht an jedes andere Sprite senden können eine Nachricht an jedes andere Sprite Und wenn ein Sprite wie der Button zum Beispiel eine Nachricht erhalten möchte, dann können wir diesen Block verwenden, wenn ich die erste Nachricht erhalte Ich möchte die erste Nachricht nicht verwenden, weil der Name nicht so gut ist Lassen Sie uns eine weitere Nachricht erstellen. Es ist sehr einfach. Klicken Sie hier auf dieses Drop-down-Menü auf diesen Pfeil und dann auf Neue Nachricht. Nennen wir es Handelsbildschirm anzeigen. Das ist der Name der Nachricht, und dann können wir sie hier platzieren, nachdem wir den Reisestopp auf eins gesetzt haben. Jedes Mal, wenn das Raketenschiff den Planeten erreicht, setzen wir den Reisestopp auf eins, und wir senden diese Botschaft hier. Jetzt in der Schaltfläche können wir diesen Block hier haben, wenn ich nicht die erste Nachricht erhalte, sondern der Handelsbildschirm angezeigt wird. Das sind die Ereignisse. Wenn ich die Meldung „ Handelsbildschirm anzeigen“ erhalte, kann ich das Sprite ganz einfach anzeigen Wenn auf Go geklickt wird, ist das Sprite ausgeblendet. Wenn diese Nachricht empfangen wird, wird das Sprite Du kannst auch hier auf diese Blöcke klicken und sie bei jedem Klick ausführen lassen. Wenn ich also darauf klicke, ist es versteckt. Wenn ich darauf klicke, wird es angezeigt. Das war also ein guter Test, aber lasst uns ihn im Spiel testen. Also hier haben wir unser Raketenschiff und wir müssen einen Planeten finden. Da ist einer, und da hast du auch den Knopf. Okay, lass uns den Button umbenennen, um Reparatur kaufen zu können. Auf diese Weise können wir den Button hier in dieser Liste besser identifizieren . Jetzt haben wir diesen Button, und was machen wir mit dem Button? Natürlich muss der Spieler auf den Button klicken. Und dann werden die verbleibenden Reparaturen um eins erhöht und die Ressourcen um fünf reduziert. Jede Reparatur kostet also fünf Ressourcen. Lassen Sie uns das umsetzen. Zuerst benötigen wir ein weiteres Ereignis, wenn auf diese Schaltfläche geklickt wird Gehen wir zu den Ereignissen, bei denen der Spride geklickt hat. Hier haben wir es Wenn der Spieler auf diese Schaltfläche klickt, müssen wir die Anzahl der Reparaturen erhöhen, die Anzahl der Reparaturen um eins erhöhen und die Ressourcen verringern Lass uns das hier unter Variablen machen. Wir können das machen, Reparaturen, die noch übrig sind, um eins ändern. Dadurch wird die Anzahl der Reparaturen um eins erhöht, und zwar schrittweise. Und dann müssen wir natürlich die Ressourcen reduzieren, weil der Spieler dafür bezahlen muss Ändern Sie also die Ressourcen um minus fünf, sodass wir die Ressourcen um fünf verringern Also lass uns das im Spiel versuchen. Ich starte das Spiel erneut. Und hoffentlich wird es dort einen Planeten geben. Und dann klicke ich hier auf diese Schaltfläche und wir sehen, dass Reparaturen übrig sind. Vier war jetzt drei, vier, und die Ressourcen sind minus fünf. Also minus fünf ist nicht gut, weil man dann Schulden hat, aber so funktioniert das hier nicht. Sie müssen über die Ressourcen verfügen, um die Reparatur zu kaufen. Also müssen wir prüfen, ob das möglich ist, ob der Spieler über genügend Ressourcen verfügt. Lassen Sie uns das unter Kontrolle haben und nehmen wir diesen Block, wenn dann , und legen ihn um diese beiden Blöcke herum. Auf diese Weise befinden sich diese beiden Blöcke im Wenn-Dann-Fall. So wie das. Was können wir im anderen Fall tun? Wir können etwas sagen. Wir verstehen, hallo sagen, wir ändern das Hallo. Sie haben nicht genug Ressourcen. Für 2 Sekunden ist das vielleicht genug. Jetzt brauchen wir die Bedingung hier. Die Bedingungen unterliegen den Betreibern. Wir müssen prüfen, ob die Anzahl der Ressourcen mindestens fünf beträgt. Lassen Sie uns nach mehr als Variablen und dann nach Ressourcen suchen . Wenn die Ressourcen größer als vier, fünf oder mehr sind , können wir die Reparatur einfach kaufen oder der Spieler kann die Reparatur kaufen. Wenn das nicht der Fall ist, sagen wir, dass du nicht über genügend Ressourcen verfügst. Alternativ können Sie dies auch weniger als verwenden. Lass uns das auch machen. Wenn es weniger als fünf Ressourcen gibt , also vier oder weniger, dann können wir sagen, tauschen wir das aus, ziehen wir das in die Länge. Leg das rein und jetzt müssen wir diese beiden austauschen. Wenn die Ressourcen weniger als fünf sind, sagen wir, Sie haben nicht genug, wir müssen diese beiden trennen, Sie haben nicht genug, und für den Fall. Wir machen den Handel. Also kannst du es entweder so machen oder andersherum, so. Der Vorteil hier ist, dass Sie die Fünf haben, und hier haben Sie auch die Fünf, das ist also viel einfacher. Hier müssen Sie eins vom Preis abziehen, und hier können Sie den Preis direkt verwenden Damit du wirklich machen kannst, was du willst. Wir können dem Preis auch eine andere Variable zuweisen und diese dann durch die Variable ersetzen . Machen wir das? Das werden wir im nächsten Video machen. Aber jetzt versuchen wir es im Spiel, ob das wirklich funktioniert. Ich sammle keine Ressourcen, also sind meine Ressourcen jetzt Null, nicht genug, wir sollten das bekommen, du hast nicht genug Ressourcen. Jetzt werde ich welche sammeln Lass uns fünf sammeln. Zwei, drei Jetzt haben wir fünf und jetzt brauchen wir einen Planeten. Da ist er. Wir haben also genau fünf, und nach dem Kauf sollten wir Null haben, und es funktioniert, und die Reparaturen sind jetzt noch vier übrig. Das scheint also zu funktionieren. Also brauchst du hier mindestens fünf , um die Reparatur zu kaufen. Und wenn du zehn hast, kannst du als Spieler natürlich auch zweimal auf die Taste drücken, und dann bekommst du zwei Reparaturen, das ist also einfach. Im nächsten Video werden wir hier also eine Preisvariable haben, einen Preis für die Reparatur. Und dann werden wir es an diesem Ort hier an diesem Ort verwenden , und natürlich auch an diesem Ort, und auf diese Weise können wir hier einen weiteren Operator verwenden. 26. 26 Variieren des Preises nach dem Zufallsprinzip: Wir wollen diesen konstanten Wert hier durch fünf ersetzen. Das ist der Preis für die Reparatur, also fünf Ressourcen für eine Reparatur mit einer Variablen. Gehen wir also zu Variablen, erstellen natürlich eine Variable und wir können sie dieses Mal nur für dieses Set setzen, sie dieses Mal nur für dieses Set setzen, weil die anderen Sprites es nicht benötigen, weil das die Kaufen-Schaltfläche ist und nur die Kaufen-Schaltfläche den aktuellen Preis kennen muss , also machen wir es hier zu einer lokalen Variablen Nennen wir es also Reparaturpreis, und zwar nur für dieses Sprite Und jetzt können wir es hier in diesem Button-Sprite verwenden. Und zum Beispiel kannst du es hier in diesem Planeten-Sprite nicht verwenden , weil es hier nicht unter Variablen verfügbar Es ist erst jetzt hier in diesem Sprite mit der Reparaturschaltfläche verfügbar diesem Sprite mit der Reparaturschaltfläche Also hier ist er, der Reparaturpreis, und wir müssen ihn auf den Preis festlegen Nehmen wir an, wir zeigen jedes Mal den Handelsbildschirm. Wenn wir also die Meldung „Handelsbildschirm anzeigen“ erhalten, können wir den Preis hier so einstellen , dass der Preis vielleicht beim nächsten Mal, wenn wir den Handelsstream anzeigen, anders sein kann. Aber setzen wir es auf fünf. Vorerst. Also setzen wir den Reparaturpreis auf 55 Ressourcen fest, die wir loswerden können. Und jetzt können wir diese Variable hier verwenden. Und anstatt diese fünf hier und diese fünf da drüben zu verwenden , diese minus fünf, können wir jetzt die Variable verwenden. Also lass es uns noch einmal ziehen. Hier. Wenn also die Anzahl der Ressourcen unter dem Reparaturpreis liegt, der Spieler nicht über genügend Ressourcen, sodass diese Meldung angezeigt wird. Und jetzt müssen wir, andernfalls, die Ressourcen um andernfalls, die den Preis reduzieren, aber natürlich nicht so, also können wir das nicht einfach hier reinschreiben, weil das falsch ist die Ressourcen um plus fünf verändert. Also müssen wir es um minus fünf ändern. Wie erreicht man das? Lassen Sie uns das noch einmal in die Länge ziehen. Und dann gehen wir zu Operatoren und hier haben wir diesen Multiplikationsoperator Also nehmen wir diesen. Also multiplizieren wir den Preis mit einer Konstanten, und diese Konstante ist minus eins. Also haben wir den Reparaturpreis auf fünf mal minus eins ist minus fünf gesetzt , und das ist genau das, was hier als Konstante steht. Also lass uns das hier reinschreiben und jetzt sollte es funktionieren. Also setzen wir in diesem Fall den Preis hier auf fünf fest. Darauf achten wir weniger als hier. Und wenn der Spieler genug Ressourcen hat, reduzieren wir die Anzahl der Ressourcen um den Reparaturpreis, und das bekommen wir durch diese Multiplikation mit minus eins Okay, also lass uns das versuchen. Es sollte keinen Unterschied geben. Das ist hier also eine Art Refactoring, aber wir werden dieses Refactoring zu unserem Vorteil nutzen , indem wir den Preis hier auf einen zufälligen Preis festlegen den Preis hier auf einen zufälligen Preis Also lass uns das zuerst versuchen. Also werde ich zuerst die Ressourcen sammeln. Lasst uns diesmal vielleicht sechs oder sieben sammeln , bevor wir auf den Planeten gehen. Diesmal ist es schwieriger. Ich habe jetzt fünf, noch einen. Hier. Jetzt brauchen wir einen Planeten. Da ist er. Und jetzt kann ich eine Reparatur kaufen und das funktioniert. Eine Ressource ist übrig und wir haben vier Reparaturen. Das funktioniert also. Und jetzt kann ich das hier ändern auf, sagen wir zehn oder zwei, was auch immer ich will, und ich muss diese beiden Orte hier nicht ändern. Sie werden einfach auch funktionieren. Das ist also der Vorteil. Und auf diese Weise können wir auch einen zufälligen Preis festlegen. Also können wir die beiden hier einfach ersetzen , indem wir zufällig eins bis zehn auswählen. Nehmen wir eins, 25 hier oder eins, zwei, sechs, vielleicht. Eins ist vielleicht ein bisschen zu wenig, also nehmen wir zwei, zwei bis sechs, also wird der Preis immer 2-6 sein. Also lass uns das versuchen Lass uns jetzt einfach zum Planeten gehen. Ich weiß, dass wir zuerst Ressourcen sammeln müssen, sagen wir fünf um. Also werden wir das wahrscheinlich kaufen können . Okay, wir können auch mehr sammeln. Wir haben jetzt sieben, und das sollte immer genug sein. Der Preis für Kauf, Reparatur und Reparatur ist jetzt also auf sechs festgelegt. Wir können es hier sehen, weil es hier unter Variablen dieses Kontrollkästchen gibt, und wenn ich es deaktiviere, wird es ausgeblendet Wenn ich es ankreuze, wird es angezeigt. Wir wissen, dass wir sechs Ressourcen benötigen, um eine Reparatur zu kaufen. Wir haben sieben, also lasst uns eine kaufen. Und jetzt haben wir noch eine Ressource übrig und vier Reparaturen. Also das funktioniert Das einzige Problem ist, dass der Preis hier nicht stimmt, also gibt es in diesem Text hier fünf Ressourcen und dieser Text ist natürlich repariert, weil er im Kostüm ist. Hier haben wir also diese fünf Ressourcen, und sie sind nicht variabel. Und hier sollten wir den Wert des variablen Reparaturpreises anzeigen. Okay. Was wir tun können, ist hier an diesen Ort zu verlegen. Also lassen Sie uns zuerst richtig dran festhalten. Wir haben hier verschiedene Anzeigeoptionen, normal, Ableseegler, großer Leseslider oder ihn ausblenden Also können wir einfach die große Ablesung herausnehmen . Das ist sehr groß. Also können wir es vielleicht hier platzieren und dann können wir diesen Text hier loswerden. Lösche einfach den Text hier im Sprite-Kostüm, platziere ihn vielleicht in der Mitte etwas darüber Das ist okay. Jetzt können wir das auch hier in den äußeren 12 etwas kleiner machen. Das sieht besser aus. Und hier haben wir den Wert der Variablen, und vielleicht sollten wir einen Text voranstellen , damit der Spieler weiß, dass das der Preis für die Reparatur ist. Lassen Sie uns also ein weiteres Sprite erstellen, nur um das hier anzuzeigen. Kann einfach malen. Also lass uns einfach den Text hier eintragen. Preis Doppelpunkt, vielleicht ja, das ist, glaube ich, k. Die Größe ist okay, also stellen wir sie hier in die Mitte. Aber das Problem ist, dass wir dafür einen Hintergrund brauchen Ziehen wir ein Rechteck hierher, und auf diese Weise ist das Rechteck vorne. Aber zuerst ändern wir es hier auf Weiß, sodass die Füllung weiß sein sollte. Die Sättigung muss auf Null sinken. Okay. Aber noch ein Problem, es steht ganz oben auf unserem Text. Also müssen wir uns ändern. Sie haben diese Knöpfe hier, vorwärts, rückwärts, vorne, hinten Also legen wir es hinten rein. Also klicke auf diesen Button. Dieser Weg ist wirklich hinten. Der Hintergrund ist sozusagen das Rechteck und der Preis liegt darüber. Wir können also auch den Preis auswählen und ihn in den Vordergrund stellen. Das ist das Gleiche. Also hat sich hier nichts geändert. Aber jetzt haben wir den Preis, aber er ist natürlich ein bisschen zu hoch. Lass es uns kleiner machen. Hier brauchen wir etwas Platz für diese Variable. Lass es uns so machen, vielleicht immer noch ein bisschen zu groß, wir können es hier auch kleiner machen , indem wir die Größe hier ändern. Lass es uns auf 80 setzen, vielleicht immer noch ein bisschen zu groß, so etwas in der Art. Dann beenden wir das Spiel hier. Setzen Sie diesen Knopf hier ein, geben Sie den Preis hier ein. Und obendrein können wir das hier platzieren. Das Problem dabei ist jedoch, dass Sie den Hintergrund dieser Anzeige hier in der variablen Anzeige nicht ändern können den Hintergrund dieser Anzeige . Das muss also so sein. Aber wir können den Preis für dieses neue Sprite hier anzeigen. Und lassen Sie uns das etwas höher platzieren, damit es hier zentriert ist Okay, das sieht also okay aus. Aber jetzt müssen wir auch dieses Sprite zeigen, und wir müssen auch die Variable zeigen Also lasst uns zuerst die Variable loswerden. Also haben wir das hier deaktiviert, oder vielleicht sollten wir es im Code machen , das ist natürlich besser Weil wir es initialisieren müssen, damit es hier versteckt wird. Gehen wir also zuerst zu Sprite One, und wenn wir das Spiel starten, müssen wir uns verstecken weil das Raketenschiff nicht auf diesem Planeten gelandet ist, also verstecken wir es, es ist dasselbe wie mit dem Button hier, und hier kommt etwas kniffliges, weil du das hier auf das Preisschild ziehen könntest, aber das werde ich nicht tun, und dafür gibt es einen Grund Hier ist das Problem mit lokalen Variablen und dem Kopieren eines Blocks in ein anderes Sprite. Wenn du das also hierher ziehst, setzt dieser Reparaturpreis zwei zufällige 226 auf diesen Preistext-Sprite hier. Lass uns das machen Sie werden sehen, dass es hier erscheinen wird, natürlich ist es eine Kopie, aber es gibt auch diese lokale Variable für den Reparaturpreis. Scratch hat hier auch eine lokale Variable erstellt. Wir haben hier zwei lokale Variablen. Eine ist hier. Und einer ist hier, und sie haben den gleichen Namen. Das ist das Problem hier. Man könnte also sagen: Okay, Reparaturpreis, das ist derselbe wie bei diesem, aber das ist es nicht, und hier ist der Beweis. Ich zeige den Reparaturpreis hier und er erscheint hier drüben. Und wenn ich hier dasselbe mache, erscheint es hier neben dem Preistext. Dies sind zwei verschiedene Werte, ebenfalls vier und zwei, weil es zwei verschiedene Variablen gibt. Jede ist lokal für den Sprite. Also das ist lokal für diese Braut, dieser Reparaturpreis, und das ist lokal für diesen Zweig Also was bedeutet das, wenn ich hier den Reparaturpreis auf eine zufällige Zahl setze, wird dieser Reparaturpreis immer noch derselbe sein Wenn ich es hier also zum Beispiel auf etwas anderes setze , können wir es auf, sagen wir, auf Null oder auf minus eins setzen , damit wir sehen können, dass es hier wirklich dieser Wert ist, und ich starte das Spiel. Wir sehen hier, dass wir zwei haben. Wenn wir also auf einen Planeten treffen, können wir sehen, dass dieser Preis für die Reparatur minus eins und dieser Preis vier ist. Dieser ist immer noch minus eins, und dieser hier ist vier zufällig durch diesen Block hier gesetzt. Also hier muss man wirklich vorsichtig sein. Wenn du etwas mit lokalen Variablen ziehst, einen Block, der in diesem Fall eine lokale Variable oder Einstellung benutzt , dann erstellt er oder scratzt, erzeugt eine neue lokale Variable im anderen Sprite Aber das sind nicht dieselben Variablen. Sie sind beide für jedes Sprite lokal. Das ist ein Problem. Lassen Sie uns dieses Problem loswerden Variable für den Reparaturpreis löschen. Das brauchen wir nicht. Aber das müssen wir hier im Button „Reparieren kaufen“ zeigen. Also jedes Mal, wenn wir das hier zeigen, wenn ich den Handelsbildschirm anzeigen erhalte, müssen wir diese Variable hier anzeigen. Wie können wir Variablen ein- und ausblenden? Das ist hier, diese beiden Blöcke. Variablen Reparaturpreis anzeigen, variablen Reparaturpreis ausblenden. Wenn G also auf Klick steht, verstecken wir das, weil wir das zu Beginn des Spiels nicht wollen. Und immer wenn ich die Meldung „Handelsbildschirm anzeigen“ erhalte , wird hier der variable Reparaturpreis angezeigt, diese lokale Variable. Hier wird der Preistext nur von selbst ein- und ausgeblendet. Wir müssen hier dieses Ereignis hinzufügen wenn ich den Handelsbildschirm anzeigen erhalte, dann zeigen wir uns hier einfach. Das ist es, oder das sollte es sein, versuchen wir es. Ich gehe direkt zum Planeten und hier haben wir es. Der Preis ist vier. Ich habe keine Ressourcen gesammelt und du hast nicht genug Ressourcen wird angezeigt. Das ist okay. Lass uns ein paar Ressourcen sammeln. Ich würde sagen, mindestens fünf, vielleicht mehr, wenn es welche gibt. Ja, ich habe jetzt drei. Vier und vielleicht noch zwei. Ich stürze ab. Es gibt noch einen, und jetzt brauchen wir einen Planeten. Okay, hier haben wir die Ressourcen acht. Also kann ich zwei Reparaturen kaufen. Lass uns eins kaufen. Wir haben jetzt fünf. Und lass uns noch eine kaufen, und jetzt habe ich noch zwei Ressourcen übrig, und ich habe nicht genug, um eine weitere zu kaufen. Also sind noch vier Reparaturen übrig , weil ich den Absturz hatte. Also das sind jetzt vier, aber ich habe zwei gekauft, das ist also alles richtig. Okay, so können Sie den Preis für die Reparatur hier zufällig festlegen. Es wird also immer 2-6 als Zufallszahl ausgewählt. Es wird also etwas unberechenbarer, was der Preis sein wird, wie viele Ressourcen Sie benötigen Wenn der Spieler also auf diesen Planeten geht und dann nicht genug Ressourcen hat, dann ist das natürlich Pech. Und dann muss der Spieler wieder durch den Weltraum reisen und mehr Ressourcen sammeln und dann zum Planeten zurückkehren. Das Problem ist jedoch, dass es keine Möglichkeit gibt , wieder zu reisen. Das müssen wir also im nächsten Video implementieren. 27. 27 Korrigieren des Hintergrundcodes: In diesem Video möchte ich einen Fehler korrigieren, von dem ich gerade weiß, dass wir ihn bereits eingeführt haben , und den wir eingeführt haben, als wir die Kostüme der Hintergrund-Sprites geändert haben die Kostüme der Hintergrund-Sprites geändert Also haben wir dieses Rechteck hier gelöscht. Das war quasi der Hintergrund für Sterne, das schwarze Rechteck, und wir haben es gelöscht, weil wir diesen Hintergrund hier hatten, den schwarzen Hintergrund, diesen, und den anderen brauchten wir damals nicht. Du siehst auch, dass das nicht richtig in der Mitte ist. Aber das ist hier nicht das Problem. Das Problem ist, dass wir dieses Kostüm hier geändert haben und mit dem Löschen dieses Rechtecks hier haben wir auch die Größe dieses Sprites hier geändert Das ist das Problem hier. Wenn diese Y-Position nicht korrekt ist, wird dieses Hintergrund-Sprite hier nicht auf diese Position zurückgesetzt Ich habe diesen Wert hier absichtlich falsch eingegeben, also ist es nicht der richtige Wert, und Sie werden sehen, was das verursacht Nur für das erste Hintergrund-Sprite. Ich habe das gemacht. Den anderen habe ich schon korrigiert. Sie können sehen, dass der erste Hintergrund hier feststeckt. Hier siehst du einen Stern mit diesem Hintergrund, und er ist nicht zurückgesetzt. Das heißt, es kommt nicht in diesen Bereich, wenn meine Position kleiner als minus 350 ist. Warum nicht? Weil Sie die Position nicht mehr ändern können, als wir überprüfen können, was der Wert -320 ist, können Sie ihn nicht unter diesen Wert setzen Ich kann ihn einfach auf -500 setzen. Aber wenn ich das mache, geht es automatisch auf -320 zurück. Es ist nicht möglich, y unter diesen Wert zu ändern. Diese Bedingung wird hier immer falsch sein und sie wird nicht zurückgesetzt. Deshalb müssen wir das ändern. müssen wir an die Größe des Sprites anpassen . Das machen wir Hier haben wir minus 320, wir müssen prüfen, ob es unter -319 liegt Und dann müssen wir es auch auf Rot 20 zurücksetzen. Lassen Sie uns überprüfen, ob das Problem dadurch behoben ist. Absturz. Aber es scheint, dass es das Problem wirklich behebt, weil wir sehen können , dass sich das erste Hintergrund-Sprite korrekt bewegt und korrekt zurückgesetzt wurde. Das ist okay. Fehler wurde behoben, und Sie werden immer diese Fehler haben, die Sie debuggen müssen , also Fehler beheben Um Fehler zu beheben, müssen Sie zuerst den Fehler finden, und das ist der Debugging-Prozess Sie finden zuerst den Fehler und versuchen, die Fälle zu isolieren, in denen der Fehler passiert Und dann beheben Sie den Fehler, und das ist Debuggen Scratch unterstützt Debugging nicht wirklich , da andere Sprachen, andere Programmiersprachen oder Umgebungen das können, weil es nicht in der Lage ist Haltepunkte zu setzen, an denen Sie das Skript anhalten und dann die Variablen untersuchen können das Skript anhalten und dann die Variablen untersuchen Aber Sie können die Variablen natürlich überprüfen, indem Sie sie hier zeigen Aus diesem Grund können Sie unter Variablen festlegen, dass diese Variablen hier mit einem Kontrollkästchen angezeigt werden. Wir können hier also immer den Wert der Variablen Reisestopp anzeigen und sehen, ob das korrekt ist. Dann können wir zum Beispiel auch die Y-Position des Sprites anzeigen , also müssen wir zur Bewegung übergehen, und hier haben wir die X-Position und die Y-Position und auch die Richtung Das brauchen wir im Moment nicht. Aber hier, meine Position, du kannst es überprüfen, und dann wird es auch hier sichtbar sein. Und dann können Sie die Y-Position des Hintergrunds sehen. Und dann werden Sie sehen, dass es, wenn es hier nach unten kommt, wieder nach oben zurückgesetzt wird. Es geht darum, den Fehler zu beheben. Das habe ich gerade zu diesem Zeitpunkt erkannt, aber während des Codierens während der Programmierung wird es immer auch die Notwendigkeit geben, zu debuggen Das war also mehr oder weniger eine Einführung in das Debuggen, aber das war nicht beabsichtigt Vorher war es nur ein Fehler. Aber hier erfahren Sie, wie Sie das Problem beheben und auch hier, wie Sie diese Grenzwerte festlegen können, diese -319 Wenn du es falsch machst, so etwas hier, dann bleibt dieser Hintergrund hängen und er wird nicht zurückgesetzt Und dann können Sie sehen, was der Mindestwert dieses Hintergrunds ist , und dann können Sie diesen Wert hier minus 320 verwenden , um diesen Zustand hier herzustellen, also sollte es ein weiterer sein. Sozusagen ein Pixel, mehr als diese extreme Position, und dann können Sie das verwenden. Und dann setzt man dasselbe wie hier negativ als positives y , um hier den Hintergrund zurückzusetzen. Und es gibt noch eine weitere Sache, die wir tun können , um es hier in unserem Gehirn ein bisschen einfacher zu machen. Also können wir das hier austauschen. Da wir wissen, dass diese Y-Position immer mindestens -320 sein wird, können wir sie hier mit Gleichem austauschen Wenn also die Y-Position gleich und dann minus 320 ist, dann werden wir das Sprite hier zurücksetzen Das ist einfacher, aber wir können das nur tun, weil diese Y-Position des Sprites immer -320 ist , wenn sie darunter gesetzt wird Es wird hier sozusagen immer auf diesen Mindestwert zurückgesetzt sozusagen immer auf diesen Mindestwert Es wird also immer diesen Wert annehmen. Wenn wir hier eine Variable verwenden und sie immer um minus zwei ändern würden , dann könnten wir auf etwas wie -321 landen, und dann wäre diese Bedingung nicht erfüllt Aber da das hier mit der X-Position wirklich ein Sonderfall ist , können wir das so machen, und dann müssen Sie hier nichts zu diesem Limit hinzufügen Es ist also nur so, wenn die Y-Position mindestens -320 ist, dann gehe hier zu dieser Startposition. Also lass uns das versuchen. Und wir werden sehen, dass es auch funktioniert. Auf diese Weise können Sie hier denselben Wert verwenden, 320. Diesmal ist es -320, und hier ist es positiv, 320, und es ist ein bisschen einfacher 28. 28 Verlasse den Handelsbildschirm: R Jetzt, wo der Handelsbildschirm läuft, müssen wir ihn natürlich wieder verlassen. Gehen wir also zum Bildschirm. Auch hier haben wir den Handelsbildschirm, wir können kaufen. Wenn wir genug Ressourcen gehabt hätten, hätten wir hier kaufen können, aber das tun wir nicht, also müssen wir diesen Bildschirm verlassen, um wieder durch den Weltraum reisen zu können , um Ressourcen zu sammeln und dann tatsächlich Reparaturen hier in dieser Art von Geschäft zu kaufen, was es ist. Okay, lassen Sie uns diese Position hier loswerden. Erste Sache. Also wo haben wir das? Es ist BG One, also Hintergrund eins, und hier ist die Position. Du bist da unten, entferne das Häkchen und dann ist es weg. Reisestopp Das brauchen wir auch nicht. Lassen Sie uns also das Kontrollkästchen hier entfernen. Entfernen Sie hier das Häkchen im Kontrollkästchen. Also jetzt ist das auch weg. Und für den Ausgang brauchen wir natürlich einen Knopf. Also müssen wir einen weiteren Knopf malen. Vielleicht, nein, nicht malen. Verwenden wir hier eine voreingestellte Taste. Vielleicht reicht dieser. Also lösche einfach diesen. Das ist das Richtige, und jetzt können wir es anpassen. Also müssen wir hier zumindest einen Text mit der Aufschrift Exit einfügen. Mach es ein bisschen hübscher. Machen Sie die Farbe, die Schriftfarbe hier vielleicht schwarz und platzieren Sie sie in der Mitte oder vielleicht hier, etwas über der Mitte Das ist okay. Und auch die Farbe, die Hintergrundfarbe sollte hier etwas anderes sein , vielleicht Dauer. Ja, ich denke, das ist besser, so etwas, und auch die Grenze hier, das ist im Moment ein Farbverlauf. Lass es uns hier solide machen, und dann vielleicht nur schwarz in diesem Fall, ist okay. Und dann müssen wir es etwas kleiner machen. Okay. Also ich denke, das sollte okay sein. Und hier ändern wir die Größe auch auf 80%. Okay. Nett. Platzieren wir es hier drüben , damit der Spieler deutlich sehen kann , dass dies die Schaltfläche ist, um diesen Handelsbildschirm zu verlassen. Okay, gehen wir zum Code hier zum Skript. Und wir brauchen natürlich ein Ereignis, wenn auf Sprite geklickt wird Was machen wir dann, wenn auf dieses Sprite geklickt wird? Natürlich müssen wir die Variable setzen. Die Variable Travel Stopp muss gesetzt werden, also setzen Sie Travel Stop 20. Das wird dazu führen , dass fast alles hier wieder auftaucht und sich wieder bewegt. Lass uns versuchen, ob das schon etwas bewirkt. Also gehen wir hier sofort auf einen Planeten. Zuerst sehen wir einen, da ist er, und wir versuchen den Ausgang. Okay, wir sehen also, dass sich die Felsen wieder bewegen, die Sterne sich bewegen, die Planeten bewegen sich. Das Raketenschiff bewegt sich nicht, oder zumindest ist es nicht sichtbar. Also lass uns und auch der Hintergrund ist nicht sichtbar. Lasst uns zuerst den Raketenchip hier reparieren. Warum bewegt sich die Raketenhüfte nicht? Weil sie in dieser ewigen Schleife feststeckt. Und dann, wenn der Reisestopp wieder Null ist, gibt es nur noch die Kontrolle durch den Spieler und den harten Test. Und hier gibt es nichts , was es noch einmal zeigen könnte. Okay. Also müssen wir es zeigen. Also schauen wir weiter und zeigen es dann , oder wir haben es schon da, damit wir das loswerden und diese Show hier verwenden können. Und füge es hier ein, wenn der Reisestopp gleich Null ist. Also das Erste, was wir dort machen, ist Show und jedes Mal, wenn es diese Schleife durchläuft und der Reisestopp Null ist Wir zeigen es. Es ist nicht wirklich wichtig, dass wir es mehrmals zeigen. Es ist fast eine Nein-Nein-Operation. Das sollte also okay sein. Also lass uns das zurückziehen. Und jetzt wird jedes Mal, wenn dieser Reisestopp in dieser Endlosschleife Null liegt, das Raketenschiff angezeigt. Das sollte okay sein. Lass uns das versuchen. Es gibt einen Planeten, und wir verlassen ihn, und dann haben wir wieder das Raketenschiff. Auch das funktioniert. Nehmen Sie sich etwas Zeit, bis alle Raketen und Sterne heruntergekommen sind, aber es ist okay. Ich finde das gut Was hier fehlt, ist natürlich, dass sich der Hintergrund auch dann zeigen muss , wenn der Reisestopp Null ist. Das ist auch einfach. Entferne das hier, mach das raus und dann leg es wieder rein Ich reise, Stopp ist gleich Null, das Gleiche gilt für den zweiten Hintergrund Zeigen Sie ihm also jedes Mal, wenn es die Schleife durchläuft, bei jeder Iteration, dass der Reisestopp gleich Null ist Also sollte der Hintergrund jetzt auch okay sein. Lass es uns versuchen. Natürlich müssen Sie alles, was Sie tun, testen. Nehmen Sie also einfach eine kleine Änderung vor und testen Sie dann, ob diese kleine Änderung wirklich funktioniert. Also so mache ich es. Wenn Sie viele, viele Dinge tun und viele Blöcke ändern und dort einfügen und dort den Wert ändern, dann testen Sie es und dann stellen Sie fest, dass nichts mehr funktioniert. Das ist nicht so gut. Also ändere ein bisschen und teste dann diese Änderung. Das ist der bessere Weg. Okay, also lass uns das machen. Der Hintergrund sollte auch funktionieren. Sollte auch wieder erscheinen, wenn wir auf Beenden klicken. Ja, ist es Aber was noch fehlt, ist, dass der Hintergrund nicht verändert wurde. Also müssen wir hier zu diesem ersten Hintergrund wechseln. Okay, wo machen wir das? Ebenfalls bei diesem Sprite. Lassen Sie uns das Sprite hier in Exit-Button oder einfach Exit umbenennen . Wir werden es tun Den Reisestopp auf Null setzen, und dann können wir hier auch den Hintergrund einstellen, Hintergrund wechseln, zwei, Hintergrund eins und es testen. Wir können auch testen, ob wir mit den Ressourcen etwas kaufen und dann aussteigen können . Jetzt ist es hier zu teuer. Wir können keine Reparatur kaufen, aber lassen Sie uns aussteigen. Und jetzt sehen wir, dass alles wieder so ist , wie es vorher war, außer wir hier die Schaltfläche „Reparieren kaufen“ und „Preis“ haben, also müssen sie gehen, und auch die Ausgangstaste muss weg. Wie machen wir das? Das ist ein bisschen anders? Ich würde vorschlagen, wieder eine Nachricht zu verwenden, also sende hier eine neue Nachricht. Wir haben also den Handelsbildschirm anzeigen und wir müssen den Handelsbildschirm ausblenden. Erstellen Sie also eine neue Nachricht über dem Handelsbildschirm, und auf diese Weise können wir reagieren. In diesem Sprite können wir auch reagieren. Wenn ich also den Handelsbildschirm zum Ausblenden erhalte, werden wir das Sprite hier einfach ausblenden Also versteck dich so. Außerdem müssen wir den Exit-Button anzeigen. Das haben wir bisher nicht getan. Also, wann immer ich diesen Shot-Handelsbildschirm erhalte, möchte ich den Sprite hier zeigen Damit wir die Meldung auf dem Hides-Handelsbildschirm und auch die Meldung auf dem Handelsbildschirm anzeigen können, müssen wir hier dasselbe für den Kurstext und für die Kaufreparatur tun Kurstext und für die Kaufreparatur Ich kann das also einfach kopieren, wenn ich eine hohe Höhe des Handelsbildschirms erhalte , in den Preistext und auch auf die Schaltfläche Kaufen und Reparieren Also das wird das auch hier in den anderen Sprites tun . Okay. Und was wir tun müssen, ist, was hier gemacht wird, wenn wir klicken, verstecken, oder nehmen wir diesen , wenn Go geklickt hat, verstecken und auf die Exit-Taste hier kopieren Auf diese Weise wird auch dieser Exit-Button ausgeblendet , wenn das Spiel beginnt Lass uns das Spiel starten. Keine Exit-Taste. Lass uns auf einem Planeten landen. Hier ist es. Da haben wir die Exit-Taste, wir haben die Schaltfläche Nach Reparatur und den Preistext. Wir haben also keine Ressourcen. Spielt keine Rolle. Wir gehen, und wir können hier wieder Ressourcen sammeln. Okay. Was noch fehlt, ist natürlich, diese Variable auch versteckt werden muss. Also müssen wir das tun, weil es eine lokale Variable ist. Das müssen wir hier mit der Schaltfläche „ Reparieren“ machen. Das machen wir. Variablen, Höhe variabel Immer wenn ich den Bildschirm „Handel ausblenden“ erhalte, wähle Variabler Reparaturpreis ausblenden Also lass es uns noch einmal testen. Gehen Sie, und da haben wir es. Jetzt können wir also zwischen diesem Modus hier, dem Reise- und Sammelmodus und diesem Handelsmodus hier wechseln. Also kann ich hier tatsächlich zwei Reparaturen kaufen, aussteigen und mehr Ressourcen sammeln. Damit ich hier weitere Reparaturen kaufen kann . Lass uns das nochmal versuchen. Ich kann noch eins kaufen und dann habe ich keine Ressourcen mehr übrig, und dann beenden und ich kann das Spiel fortsetzen. Sehr nett, wir können den Handelsbildschirm verlassen. Wir können den Handelsbildschirm aufrufen. Wir haben also diese beiden Modi Reisen und Sammeln und den Handelsmodus , der sehr nett ist. Und wir machen das indem wir hier, wie du gesehen hast, eine Variable verwenden , diese Reisestopp-Variable, die in der Kontrollschleife des Spiels immer für jedes Sprite aktiviert wird , und wir machen das auch mit Nachrichten Wir haben also diesen High-Trading-Bildschirm und zeigen Handels-Bildschirmnachrichten an , die hier verwendet werden Auf diese Weise brauchen wir nicht für jedes Sprite eine Endlosschleife , die nicht notwendig ist Man nennt das hier auch fleißiges Warten. Wenn wir also hier in diesem Modus sind, ist der Reisestopp nicht Null, sondern Eins. Wir befinden uns hier in dieser geschäftigen Warteschleife. Für immer und dann versteck dich und warte mit nur Warten, Warten, Warten die ganze Zeit. Und hier ist das nicht der Fall. Wir sind eigentlich nicht damit beschäftigt zu warten. Wir warten in diesem Fall nur auf eine Benachrichtigung hier für eine Nachricht, und dann handeln wir hier auf den Empfang dieser Nachricht. Und das ist ein bisschen anders. zu verschiedenen Methoden, Vielleicht zu verschiedenen Methoden, um dasselbe Ziel oder ein ähnliches Ziel zu erreichen. Aber hier haben wir auch eine Regelspielschleife und das ist einfacher, das hier im Loop zu überprüfen , als das hier über einen Nachrichtenempfang zu tun. Okay. Also das ist unser Spiel. Ich finde, es ist ein sehr nettes Spiel. Es mag im Moment nicht sehr schwierig sein, aber Sie können es ein wenig optimieren Das wird schwieriger, vielleicht nicht so viele Planeten, vielleicht mehr Steine und weniger Ressourcen Wir können hier natürlich auch ein Upgrade für unseren Raketenchip hinzufügen, also kann der Raketenchip vielleicht Laserstrahlen oder so etwas abfeuern und dann die Meteoriten, die Felsen hier zerstören die Meteoriten, die Felsen hier Und dann enthüllen die Felsen vielleicht auch weitere Ressourcen, ich weiß nicht, vielleicht versteckte Planeten oder ich weiß nicht Das könntest du tun, und du kannst natürlich auch den Handelsbildschirm hier aufrüsten, sodass du nicht nur eine Reparatur kaufen kannst, sondern du könntest hier auch ein Upgrade für dein Raketenschiff vornehmen , sodass du dann vielleicht einen Laser abfeuern kannst etwas anderes oder Raketen oder so. Oder du kannst dich auch auf Planeten niederlassen. Wenn Sie also, sagen wir, 50 Ressourcen haben, können Sie sich vielleicht auf diesem Planeten niederlassen, und dann können Sie auch Ressourcen auf dem Planeten ernten und mit der Zeit könnten Ihnen dadurch wirklich mehr Ressourcen beschert werden, sodass Sie sich auf mehr Planeten niederlassen können und so weiter. Aber im Moment ist dies unser letzter Stand dieses Spiels. Sie können es also natürlich verlängern. Es ist nicht so schwer, es zu verlängern. Wenn du also zum Beispiel etwas anderes verkaufen oder den Spieler kaufen lassen möchtest , musst du das nur hierher kopieren und dann eine weitere Variable erstellen, vielleicht zum Beispiel den Upgrade-Status des Raketenchips. Und dann musst du natürlich nachschauen, vielleicht kannst du hier in der Raketenchip-Steuerung nach Platz für die Leertaste suchen. Wenn die Leertaste gedrückt ist, können Sie diesen Laserstrahl abfeuern, und wenn dieser Laserstrahl auf einen Felsen trifft, verschwindet der Stein einfach, oder Sie können später, wenn wir zu Animationen übergehen, auch eine Explosion machen, vielleicht eine Animation, etwas Ähnliches. Okay. Aber das war's für dieses Spiel hier, im nächsten Abschnitt werden wir ein neues Spiel beginnen, und dafür müssen wir mehr Funktionen hier von Grund auf erforschen , weil es mehr gibt Sie haben also nicht nur diese Variablen hier, sondern Sie haben auch Listen, und das wird in diesem nächsten Spiel behandelt , und wir werden auch mehr benutzerdefinierte Blöcke verwenden und auch Es wird Animationen geben. 29. 29 Neue Spielsteuerung der Hauptfigur: Dies wird unser neues Spiel sein, und es wird ein Abenteuerspiel sein. Genau wie in einigen alten Point-and-Click-Abenteuern haben wir eine Hauptfigur, und diese Hauptfigur heißt Avery weil wir in Scratch ein voreingestelltes Sprite namens Avery haben, ein Mädchen, das auch eine Animation hat Wir werden dieses Sprite verwenden, und so geht Avery auf dieses Abenteuer, und der Spieler kann Avery mit den Cursortasten steuern und dann mit Objekten interagieren , sie sammeln und mit Hilfe dieser Gegenstände Rätsel lösen . Was wir zuerst tun müssen, ist natürlich ein neues Projekt zu erstellen Nennen Sie es Averys Abenteuer. Ich habe das hier schon gemacht. Dann müssen wir unser erstes Sprite erstellen. Normalerweise hast du diese Katze. Ich habe die Katze hier schon entfernt. Fügen wir Avery hinzu. Hier haben wir Avery stehend und in zwei Posen. Schauen wir uns die Kostüme an. Diese Pose und das, lasst uns die Reihenfolge hier ändern. Das kannst du hierher ziehen. Lass uns zuerst den stehenden Avery haben, und dann ist das vielleicht der sprechende Avery als zweiter Wir brauchen hier mehr Sprites, mehr Kostüme, nicht mehr Sprites, mehr Kostüme, und wir können sie hier einfügen, ein Kostüm wählen und dann haben wir diese Wählen wir den ersten und dann den zweiten und dann den dritten und den vierten Jetzt haben wir hier die wandelnde Voliere und hier haben wir die stehende und die sprechende Voliere Bringen wir die Sprechvoliere hierher bis zum Ende. Wir haben zuerst die stehende Voliere, dann die wandelnde Voliere, und das letzte Kostüm ist die sprechende Mit Hilfe dieser Kostüme werden wir natürlich das Gehen animieren, aber auch das Stehen und Sprechen Das war's vorerst mit den Kostümen, und lassen Sie uns den Code überprüfen. Lassen wir den Spieler den Charakter kontrollieren, unsere Hauptcharakter-Voliere . Zuerst gehen wir natürlich zu Ereignissen, wenn wir darauf klicken, und wir brauchen hier eine Endlosschleife Dies wird unsere Spielschleife sein, und hier werden wir nach der Steuerung suchen. Die Steuerung besteht aus den Tasten, dem Linkspfeil und dem Rechtspfeil Lass uns hier ein ob finden. Dadurch wird nach dem Linkspfeil gesucht. Also gehen wir zur Sensortaste gedrückt und hier wählen wir aus dem Drop-down-Menü den Linkspfeil, und dann können wir das auch schon duplizieren und einen für den Rechtspfeil erstellen Also, was machen wir? Wir ändern X für dieses Sprite um einen bestimmten Betrag , sodass sich der Charakter in diese Richtung bewegt Gehen Sie also zur Bewegung und ändern Sie x um. Hier, das wird also links sein. Nehmen wir an, wir bewegen x um, oder wir ändern x um minus drei, es wird nach links gehen, das duplizieren, und hier verschieben wir es oder ändern x um plus drei, k. Das können wir schon versuchen. Schauen wir uns an, wie das funktioniert. Lass uns anfangen. Und wir sind in der Lage, den Charakter zu bewegen. Okay, als Nächstes ändern wir die Ausrichtung, sodass Avery nach rechts zeigen sollte , wenn auf den Rechtspfeil geklickt oder gedrückt wird, und natürlich nach links, wenn der Linkspfeil gedrückt wird Wir müssen die Ausrichtung von Avery zur Hauptfigur verschieben , und das geschieht durch einen Block, der sich natürlich auch bewegt, und das ist dieser eine Richtungsweiser. Wir können Scratch anweisen, diesen Charakter in die richtige Richtung oder in die linke Richtung und auch in andere Richtungen auszurichten die richtige Richtung oder in die , aber in diesem Fall brauchen wir nur rechts und links Lass uns das machen. Wenn der Linkspfeil gedrückt wird, zeigen Sie in Richtung 90 Grad, das muss -90 Grad sein, also können Sie den Wert hier auf -90 Grad ändern Im anderen Fall zeigen Sie in Richtung 290 Grad, wenn der Rechtspfeil gedrückt wird Wenn Sie also hier klicken, können Sie sehen, dass dies hier die richtige Richtung ist. Lass uns das versuchen. Und wir sehen, dass es nicht richtig ist. Und das liegt daran, dass wir nicht den richtigen Rotationsstil festgelegt haben , und das ist dieser Block hier. Stellen Sie den Rotationsstil ein. Das ist der letzte Block hier. Wir können es hier am Anfang einstellen, den Rotationsstil auf links, rechts setzen. Die Standardeinstellung ist rundum, und wir setzen es auf links, rechts. Lass uns das versuchen und es funktioniert. Jetzt können wir die Hauptfigur von rechts nach links drehen. Und jetzt zur Animation im nächsten Video. 30. 30 Walk-Animation: I. Jetzt wollen wir der Bewegung hier eine Animation hinzufügen. Im Moment können wir uns einfach bewegen und die Ausrichtung der Hauptfigur ändern. Aber wir wollen auch eine Animation, eine Laufanimation, und wir haben auch die Kostüme für eine Laufanimation hier. Das ist sozusagen der erste Frame, das ist der zweite dritte vierte. Wir müssen diese Rahmen hier durchgehen, die vier Gehhilfen, die vier Wanderkostüme hier, und das kann in einer zweiten Schleife geschehen. Gehen wir geklickt, dann für immer. Hier werden wir die Animation machen. Okay, also wie kannst du eine Animation machen? Du musst zum Beispiel das Kostüm gegen ein anderes austauschen als das nächste. Das ist Underlooks. Schauen wir uns also an, wie Undos Kostüm zwei wechselt Ein bestimmtes, hier kannst du ein beliebiges Kostüm des Sprites wählen , das du magst, oder du kannst auch das nächste Kostüm sagen Wenn wir also zum Beispiel das Stehkostüm haben, das nächste Kostüm, gehen wir hier zum ersten Wanderkostüm Wenn wir animieren, die Laufanimation machen, wechseln wir hier einfach zum nächsten Kostüm. Wenn wir dann dieses Kostüm erreichen, müssen wir es überprüfen und es dann auf das erste Wanderkostüm setzen . Lass uns das machen. Zuerst wechseln wir einfach zum nächsten Kostüm, wählen dieses hier und dann das nächste Kostüm und das für immer. Mal sehen, wie das funktioniert. Ja. Offensichtlich gibt es hier eine Animation. Es ist nicht das richtige, aber es wechselt hier durch alle Kostüme. Aber es ist viel zu schnell, also müssen wir hier etwas Gewicht hinzufügen. Lass uns zur Kontrolle gehen, warten. Und dann warten wir nicht 1 Sekunde. Das ist zu lang. Also sagen wir vielleicht 0,2. Mal sehen, wie das aussieht. Es sieht ganz okay aus. Wir können es vielleicht mit 0,3 versuchen. Lass uns das versuchen. Ich denke, das ist okay. Hier haben Sie die Animation, aber das Problem ist, dass wir die erste hier nicht brauchen und wir brauchen auch nicht die letzte hier. Wir müssen überprüfen, in welchem Zustand sich die Animation befindet, und dann das Kostüm richtig einstellen. Lass uns das machen. Dafür brauchen wir ein Wenn hier oder wir nehmen ein Wenn anders. Dann müssen wir überprüfen, in welchem Kostüm sich der Charakter gerade befindet. Das kann auch hier unter Looks gemacht werden. Also hier haben wir die Kostümnummer oder den Kostümnamen. Also das ist eine Art Variable, ziehen wir das hier rein und wir suchen nach, sagen wir, der Zahl. Also überprüfen wir die Gleichheit, ob die Kostümnummer gleich ist, und dann müssen wir überprüfen, welche Zahl das letzte Laufanimationsbild ist Das ist also der Erste, der Stehende Zweiter, Dritter, Vierter, Fünfter. Es sind also fünf. Wenn es also fünf ist, oder wenn das aktuelle Kostüm fünf ist, die Zahl, müssen wir es auf ein bestimmtes Kostüm setzen, und das ist das erste. Eins, zwei, zwei ist also die Nummer des ersten Wanderkostüms. Okay. Also schauen wir uns um und wechseln dann das Kostüm. Wir brauchen die Nummer hier nicht. Wir können es hier einfach auf diesen Rahmen einstellen. Ich denke, das ist richtig. Lass es uns noch einmal überprüfen. Nein, ist es nicht. Es ist natürlich jedes Gehen, jedes Gehen A. Wenn es den letzten Animationsframe erreicht, wechseln wir zum ersten. Und das erste ist jedes wandelnde A. Und wenn das nicht der Fall ist, wechseln wir hier einfach zum nächsten Kostüm. Und natürlich müssen wir auch ewig warten. Damit die Animationsgeschwindigkeit nicht zu hoch ist. Lassen Sie uns das überprüfen und das scheint gut zu funktionieren. Avery geht hierher. Wir können sie auch in die andere Richtung laufen lassen. Also links und rechts, alles funktioniert. Aber sie hört nicht auf zu laufen. Sie geht die ganze Zeit, also die Animation hier nicht auf. Und das müssen wir mit einer Variablen machen. Also müssen wir eine Variable auf einen bestimmten Wert setzen und dann diesen Wert in der Forever-Schleife hier überprüfen . Lassen Sie uns hier also eine Geh-Variable einführen , eine Variable Walking erstellen. Und das brauchen wir nur für diesen Sprite. Nur für diesen Sprite haben alle anderen Sprites ihre eigenen Animationen, wenn überhaupt, also brauchen wir sie nur für Und wir müssen es natürlich am Anfang auf Null setzen auf Null Also haben wir Walking eingestellt oder wir hatten hier schon eine Geh-Variable. Lassen Sie uns diese loswerden, und lassen Sie uns auch meine Variable hier loswerden. Also setze das Gehen am Anfang auf Null. Wenn wir dann hier diesen Linkspfeil oder Rechtspfeil gedrückt haben, dann müssen wir ihn auf eins setzen. Machen wir das hier, wir setzen es auf eins und dann müssen wir in dieser Dauerschleife einchecken, ob wir die Animation fortsetzen sollen oder ob wir einfach hier warten sollen. Dieses Jahr drinnen, ich kann das in die Länge ziehen, muss in ein anderes wenn. Lass uns zu diesem Wenn gehen, und wir brauchen ein Wenn, dann anders. Hier ist es, zieh das für immer rein. Wenn Gehen gleichbedeutend ist, brauchen wir hier einen gleichberechtigten Operator. Dann brauchen wir unser variables Gehen. Wenn Gehen gleich eins ist, können wir die Animation fortsetzen Das legen wir dann hier rein und wenn Gehen nicht eins ist, dann sollten wir still stehen Wir müssen hier zu diesem Kostüm wechseln. Wechsle das Kostüm auf Avery. Ich glaube, es ist B, lass uns das machen. Wechsle das Kostüm auf Avery B und lass uns das versuchen Links, rechts, alles funktioniert, aber es hört hier nicht auf. Das ist natürlich ein Problem, wir müssen Walking 20 wieder setzen, und wo machen wir das? Gehen auf Null setzen, wir könnten es hier machen, aber das Problem ist, dass es an Bedingungen geknüpft sein sollte. Es gibt mehrere Möglichkeiten, das zu tun. Wir können eine verschachtelte haben , wenn dann sonst. Wir ziehen diese Wenns hier raus aus der Ewigkeit. Auf diese Weise wird es einfacher, und wir müssen es als sonst für jedes einzelne verwenden Wenn ein anderes und das hier hier hin müssen, und das muss natürlich hier hin. Wenn die Linkspfeiltaste gedrückt ist, stellen Sie Warten auf Eins ein, das ist also das Gleiche wie zuvor. Kann das loswerden, wenn dann. Aber im anderen Fall schauen wir hier nach dem anderen Schlüssel, aber nicht mit if then, sondern auch mit if then else. Also lass uns das hier nehmen. Ziehen Sie die Bedingung hierher und ziehen Sie diesen Block hierher. Das könnte ein bisschen knifflig sein, weil wir hier unter bestimmten Bedingungen nisten Wir suchen zuerst nach der ersten linken Pfeiltaste. Wenn diese Taste gedrückt ist und wenn sie nicht gedrückt wird, prüfen wir hier im Fall von els die rechte Pfeiltaste gedrückt ist. Wenn das auch nicht der Fall ist, kommen wir hier in den Els-Fall dieses inneren if then else. Dort können wir Walking auf Null setzen, weil linke Pfeiltaste nicht gedrückt wurde, weil wir uns in diesem Els-Fall befinden, und auch die Rechtspfeiltaste wurde nicht gedrückt, also sind wir in diesem Els-Fall. wurde keine Taste gedrückt, und wir können dann Walking auf Null setzen. Also legen wir das alles nochmal hier in die For Eve-Lupe und probieren es links, rechts, stehend aus , und es funktioniert Jetzt haben wir unsere Animation hier. Das funktioniert also, indem wir einfach die Kostüme wechseln, und wenn das Kostüm an einem bestimmten Punkt ist, in diesem Fall Kostüm Nummer fünf, müssen wir es auf den ersten Frame der Animation zurücksetzen, jedes laufende A darstellt, und andernfalls wechseln wir einfach zum nächsten, aber nur, wenn Gehen eins ist, und wenn Gehen keines ist, wechseln wir einfach zum stehenden Kostüm. Wie bestimmen wir, ob das Gehen eins oder Null sein sollte? Wir überprüfen nur, ob eine Taste gedrückt wurde, also keine Taste, sondern die linke oder rechte Pfeiltaste Wenn keine von beiden gedrückt wird, setzen wir Gehen auf Null. Auf diese Weise haben wir diese nette Laufanimation. Jetzt haben wir alle laufen und der Spieler kann kontrollieren , in welche Richtung oder ob er stehen bleiben soll. Ich finde das nett? Wir können hier die Hauptfigur kontrollieren und im nächsten Video machen wir weiter. 31. 31 Einrichten des ersten Raums: Da wir hier unseren Charakter kontrollieren können , ist das jetzt unser Hauptcharakter. Also müssen wir uns auf unser erstes Rätsel vorbereiten, unser erstes Rätsel im ersten Raum Und wo wir gerade vom ersten Raum sprechen, wir müssen hier einen anderen Hintergrund wählen , weil dieser einfach leer ist Schauen wir uns also an , was verfügbar ist. Und meine Idee ist, dass wir in einem Schlafzimmer beginnen. Also lass uns vielleicht das zweite Schlafzimmer hier nehmen. Und platziere Avery in diesem Raum. Lassen Sie uns sie ein bisschen bewegen, also sollte die Startposition vielleicht so sein wie hier, und da sie von links nach rechts gehen muss, kann sie hier nicht hochgehen Es muss genug Platz und keine Hindernisse hier unten geben, damit sie sich frei nach links und rechts bewegen kann . Lasst uns die Startposition von Avery korrigieren. Wir können hier einfach go auf x setzen, go to y, und diese Koordinaten sind aktuelle Koordinaten, das ist also okay Sie fängt immer von dort an. Wenn wir sie bewegen und dann gehen, wird sie auf diese Ausgangsposition zurückgesetzt und von dort aus kann sie sich in ihrem Schlafzimmer nach links und rechts bewegen. Das ist der bewegliche Teil und das ist der Hintergrund. Jetzt brauchen wir Objekte, damit Avery mit ihnen interagieren und ein Rätsel lösen kann Das erste Rätsel wird sein, dass die Tür zu ihrem Schlafzimmer verschlossen ist Wir müssen einen Schlüssel finden und wie ist das passiert? Meine Idee war, dass sie letzte Nacht schlafwandelte und versehentlich die Tür verriegelte und den Schlüssel unter das Bett legte , sodass sie jetzt den Schlüssel unter ihrem Bett finden und dann die Tür aufschließen muss den Schlüssel unter ihrem Bett finden und dann , um das erste Zimmer zu verlassen Lassen Sie uns das umsetzen. benötigen wir natürlich einen Schlüssel. Lass uns nach einem wichtigen Sprite suchen. Geben Sie den Schlüssel ein und da haben wir einen. Zum Glück ist das ein bisschen zu groß. Vielleicht nur 50 oder 30% Ja, vielleicht ist das okay. Lass uns diesen Schlüssel irgendwohin verschieben. Unter dem Bett, vielleicht im Schatten hier, nahe am oberen Rand des Bettes, vielleicht. Ich denke, das ist okay. Es ist hier also nicht sofort sichtbar und der Spieler muss es zuerst erkennen und dann aufheben. Das ist der Schlüssel, das Objekt für den ersten Raum, um das Rätsel zu lösen, und jetzt müssen wir darüber nachdenken wie der Spieler zur Lösung kommen soll. Also das Erste, was ich tun würde ist, wenn jede den Raum verlassen will, sie sollte nach links oder rechts gehen, und es sollte eine Tür geben, aber die Tür ist verschlossen, sodass wir jetzt entscheiden können, ob die Tür auf der rechten oder der linken Seite ist. Ich würde sagen, es ist hier, also müssen wir dem Spieler sagen, dass es dort eine Tür ist und die Tür verschlossen ist. Also, wie machen wir das? Wir müssen hier nach der X-Koordinate suchen, und wenn die X-Koordinate größer als ein bestimmter Wert ist, können wir Avery sprechen lassen Aber es gibt eine andere Lösung für dieses Problem. Wir können das tun, indem wir hier die X-Koordinate überprüfen, aber wir können hier auch ein Objekt platzieren, vielleicht ein Objekt mit einer bestimmten Farbe. Und wenn Avery dann auf dieses Objekt trifft oder auf die Farbe trifft, können wir sie sprechen lassen Versuchen wir es mit der zweiten Lösung. Wir setzen hier eine spezielle Farbe ein und wenn Avery die Farbe trifft, lassen wir sie sprechen Also gehen wir in den Hintergrund. Nochmals, Kulissen hier. Wir können auch den ersten löschen. Das brauchen wir nicht. Also lass uns zuerst die Farbe zu etwas Braunem ändern, denken, das sollte okay sein, vielleicht ein bisschen dunkler. Und dann ein Rechteck. Also lass uns das Rechteck hier platzieren. Und das ist sozusagen die Tür hier. Avery könnte einfach zur Tür gehen und dann müssen wir irgendwie überprüfen, und dann müssen wir irgendwie ob sie diese Farbe hier trifft Wenn dieser Geist diese Farbe berührt. Hoffentlich ist diese Farbe hier im Raum einzigartig und nirgendwo anders zu finden Dann müssen wir natürlich die Farbe ändern, aber das ist nicht das Problem. Das können wir machen. Aber versuchen wir es zuerst mit dieser Farbe, und dann müssen wir prüfen , ob sich eine Farbe berührt. Wie machen wir das? Sensorik, das ist hier die richtige Kategorie, aber wir befinden uns im Hintergrund. Also lass uns zu Avery wechseln. Also hier haben wir die Möglichkeit dazu. Farbe ist berührende Farbe oder Sprite berührt Farbe, und das ist die richtige Das kann also die Bedingung sein, und das können wir hier in einer If-Anweisung angeben Lassen Sie uns dann ein Wenn-Wenn herausfinden. Es ist so, ich berühre Farbe, und jetzt müssen wir die Farbe auswählen. Hier haben Sie den Farbwähler. Klicken Sie einfach darauf und jetzt können Sie hier auf dem Bildschirm eine Farbe auswählen Wir nehmen natürlich die Farbe der Tür. Das ist also unsere Farbe. Und wenn wir das erreichen, lassen wir Avery einfach etwas sagen Lass uns zuerst schauen und Hallo sagen, und das sollte vorerst in Ordnung sein Dann können wir das in den Umschlag schreiben und bei jeder Iteration würde es prüfen, ob sich diese Farbe berührt, und wenn es die Farbe berührt, sagt es Hallo Lass uns das versuchen, indem wir zur Tür gehen. Hallo, und das funktioniert. Natürlich sagt sie jetzt immer Hallo, und wir sollten das in ein „Wenn sonst“ setzen. Nochmals, wir ersetzen das hier durch if then else. Verschiebe die Bedingung hierher und verschiebe das Hallo hierher. Und wie werden wir die Sprechblase hier los? Lass uns das zuerst wieder in den Everop stecken. Wir sagen nichts. Also nochmal, sag und nicht hallo, aber wir löschen es komplett. Es gibt also nichts, kein Charakter ist hier, völlig leer, und auf diese Weise verschwindet die Sprechblase. Okay, lass uns das versuchen. Ich gehe zur Tür rüber. Wir schlagen gegen die Tür. Sie sagt, hallo, und wir entfernen uns von der Tür und das Hallo ist weg. Die Sprechblase ist weg. Außerdem haben wir festgestellt, dass dies die richtige Farbe ist. Das ist einzigartig in diesem Raum. Wir haben also nur diese Farbe hier an der Tür. Das funktioniert, und lassen Sie uns dieses Hallo so ändern, dass die Tür verschlossen ist. Die Tür ist verschlossen. Ich muss es beim nächtlichen Schlafwandeln verschlossen haben und den Schlüssel irgendwo versteckt haben. Eine lange Erklärung, aber das sollte dem Spieler ein Hinweis sein , worauf er achten muss Versuchen wir es noch einmal, starten neu, gehen zur Tür, schlagen gegen die Tür, Die Tür ist Ich muss zugesperrt haben. Ich habe einen Rechtschreibfehler beim Schlafen gemacht , nachts spazieren gehen und den Schlüssel irgendwo hinlegen. Korrigieren wir das und jetzt ist es richtig. Wenn Sie sich von der Tür entfernen, verschwindet die Sprechschale. Das ist unser erster Mechanismus hier, und er basiert auf dieser berührenden Farbe. Sie können das mit speziellen Farben verwenden, die Sie wählen, und dann können Sie eine Kollision eines Sprites mit einer Farbe spüren und dann etwas sagen, zum Beispiel hier, oder Sie können auch etwas anderes tun Okay, das ist also der Hinweis für den Spieler hier, und jetzt müssen wir überprüfen, wie wir den Schlüssel hier bekommen können, wie der Spieler den Schlüssel aufheben kann Wenn der Spieler den Schlüssel hat, kann Avery die Tür öffnen und den Raum verlassen. 32. 32 Schlüsselinformationen anzeigen: Lassen Sie uns nun den Code für das Schlüsselobjekt erstellen. Wir haben hier den Schlüssel, das Sprite, und hier haben wir den Code Im Moment haben wir noch keinen Code, aber wir werden ihn jetzt einfügen, wenn auf Go geklickt wird, wie immer Und was wir dann machen, wenn auf Go geklickt wird. Wenn auf Go geklickt wird, machen wir eine für Everop. Und wir überprüfen, ob der Mauszeiger dieses Sprite hier berührt Lass uns zu „if else“ gehen. Falls nicht, legen Sie das in die vier Hüllen, und dann brauchen wir hier die Kategorie Sensorik Wenn wir den Mauszeiger berühren, wenn dieses Sprite den Mauszeiger berührt, wenn dieses Sprite den Mauszeiger berührt, dann sagen wir etwas oder lassen Sie uns etwas denken. Also denk nach Nein, nicht, aber es ist eine Taste und im anderen Fall, im anderen Fall, denken wir uns nichts, sodass das nur angezeigt wird , wenn der Mauszeiger wirklich das Tasten-Sprite berührt Lass uns das versuchen. Wenn ich den Mauszeiger über die Taste halte, ist es eine Taste, sie funktioniert, und wenn ich den Mauszeiger weglege, ist sie weg Das ist nett. Aber wir wollen etwas mehr. Diese Blase hier sollte nur erscheinen, wenn Avery in der Nähe dieses Schlüssels ist Wenn sie zum Beispiel hier ist, also ein paar Pixel von der Taste entfernt, sollte sie das dann anzeigen Es ist ein Schlüssel, wenn ich mit der Maus über den Schlüssel fahre, und wenn sie zum Beispiel so ist wie hier, dann sollte er nicht da sein Auf diese Weise bringen wir den Spieler dazu, den Charakter zu bewegen , um die Umgebung hier zu erkunden, und es ist nicht nur der Mauszeiger, der überall hingehen und nach etwas suchen muss , zum Beispiel aufheben, anschauen oder benutzen Lass uns das machen. Wie machen wir das? Es gibt sicherlich mehrere Möglichkeiten, dies zu tun. Wir werden hier eine andere Sensorik verwenden. Dann haben wir diese Entfernung bis hier ist es der Mauszeiger. Das ist eine Standardeinstellung, aber wir können auch Avery wählen, also sprite ich hier Entfernung nach Avery und die Entfernung nach Avery sollten unter einem bestimmten Grenzwert Gehen wir also zu den Betreibern und wählen das hier aus. Weniger als, die Entfernung zu Avery sollte geringer sein als, sagen wir, lassen wir es bei 50 oder so Wir können es auch später anpassen. Kein Problem, lass es so. Dann müssen wir überprüfen, ob der Mauszeiger die Taste berührt und ob die Entfernung zu Avery hier unter 50 liegt Und dieses Ende haben wir noch nie benutzt, aber das steht hier auch unter Operatoren Also hier haben wir dieses Ende. Also lass uns das hierher ziehen. Abstand zwei ist hier der zweite Operand, und der erste ist der sich berührende Mauszeiger Wir haben jetzt also zwei Bedingungen, und beide müssen erfüllt sein, um dies anzuzeigen. Es ist ein Schlüssel. erste Bedingung ist das Berühren des Mauszeigers und die zweite ist, dass die Entfernung zu Avery weniger als 50 beträgt Das ist also die komplette Bedingung mit diesem Ende hier, und das fügen wir hier Also musst du vorsichtig sein, wenn du das einfügst, dann sollte der linke Rand hier auf diese Form ausgerichtet sein. Es ist also hervorgehoben, wenn Sie es hier an der richtigen Stelle platzieren, und dann können Sie es fallen lassen, und wenn Sie den Mauszeiger berühren und die Entfernung zu Avery unter 50 liegt, dann können Sie das anzeigen Es ist ein Schlüssel, andernfalls zeige nichts an. Lass uns das versuchen. Zuerst versuchen wir, Maus über den Schlüssel zu fahren , wenn Avery hier ist Die Entfernung ist hier natürlich mehr als 50, und es wird nichts angezeigt, also ist das gut Gehen wir näher. Oh, hier sehen wir, dass die Z-Reihenfolge hier nicht korrekt ist Aber es funktioniert, es ist ein Schlüssel. Jetzt wird es angezeigt, es ist ein Schlüssel, und wenn ich Avery ein wenig nach rechts bewege, wird er nicht angezeigt Das wollen wir. Avery muss sich dem Schlüssel nähern, um diese Botschaft wirklich zu bekommen. Es ist ein Schlüssel. Das funktioniert, aber wir müssen die Reihenfolge hier korrigieren , sodass der Schlüssel immer im Hintergrund ist, aber das ist einfach, wenn du dann klickst, wir müssen das auf die hintere Ebene setzen. Gehen Sie hier zur vorderen Ebene, ändern Sie sie in die hintere Ebene, also gehen Sie zur hinteren Ebene. Und dann füge das direkt nach dem Klicken auf die Flagge ein. Und jetzt sollte das okay sein. Der Schlüssel sollte im Hintergrund sein und er funktioniert. Lass uns schweben. Es ist ein Schlüssel Auch auf der anderen Seite funktioniert es. Es ist ein Schlüssel, und wenn ich mich vom Schlüssel entferne, funktioniert es nicht mehr. Das wollten wir und das haben wir auch erreicht. Dieser Endoperator hier ist neu. Sie können hier also zwei Bedingungen kombinieren, diese Bedingung beim Berühren des Mauszeigers mit der Bedingung dass die Entfernung zu Avery unter 50 liegt Das hier ist der zweite Operant, und das ist der erste Nur wenn diese beiden wahr sind, dann zeigen wir diese Gedankenblase, und andernfalls wird diese Gedankenblase verschwinden 33. 33 Aufheben des Schlüssels: Nun können wir hier eine Beschreibung des Objekts unseres Schlüssels anzeigen . Wir müssen in der Lage sein, dass der Spieler es aufheben und ins Inventar aufnehmen kann. Lass uns das versuchen. Wenn der Spieler auf die Taste klickt und wir dafür natürlich zur Taste wechseln müssen, dann sollte etwas passieren. Wir gehen zu Veranstaltungen, wenn dieser Punkt geklickt hat, und dann müssen wir etwas tun Zuerst brauchen wir hier eine neue Variable. Für alle Sportarten, damit überall darauf zugegriffen werden kann, nicht nur im Frühling nicht nur im Frühling Wir nennen es Schlüsselabholung, und dieser Wert ist Null, falls der Schlüssel noch nicht abgeholt wurde. In diesem Fall, als die Braut geklickt hat, wird er auf Eins gesetzt , aber wir müssen das auch berücksichtigen, wenn hier aber wir müssen das auch berücksichtigen Das brauchen wir also, wenn Mauszeiger und den Abstand zwei berühren, nicht speziell den Mauszeiger berühren Ich denke, das ist nicht notwendig , weil die Entfernung zu Avery diese wichtige Voraussetzung ist, die wir hier brauchen. Lassen Sie uns also diesen Rechtsklick auf diese Entfernung zu Avery duplizieren , und wir fügen ihn zuerst hier Und wir brauchen hier ein Steuerelement, falls dann die Entfernung zu Avery, wenn das Sprite angeklickt wird, wenn die Taste angeklickt wird, weniger als 50 ist, können wir es aufnehmen und die Variable hier setzen Er hat zwei oder eins ausgewählt, und am Anfang müssen wir es hier natürlich auf den Standardwert Null setzen auf den Standardwert Null Okay, lass uns das versuchen. Hier haben wir die Anzeige des Variablenwerts hier. Der Schlüssel hat beim Start Null aufgenommen, das ist richtig. Und wir müssen an dieser Stelle versuchen, auf den Schlüssel zu klicken. Das ist nicht möglich. Das ist okay. Das ist es, was wir wollen. Und jetzt können wir sehen, dass es ein Schlüssel ist, und jetzt sollten wir ihn abholen können und er funktioniert hier. Also nochmal, lasst uns das Spiel neu starten. Wir versuchen auf den Schlüssel zu klicken. Es funktioniert nicht, und sobald ein Schlüssel angezeigt wird, können wir darauf klicken und den Schlüssel abholen. Die Variable wird auf eins gesetzt. Was müssen wir hier noch tun? Wir müssen zuerst schauen und das Sprite verstecken , damit es hier vom Bildschirm verschwindet Also lass uns das hier versuchen. Ordnung. Der Schlüssel, das ist ein Schlüssel, und jetzt kann ich darauf klicken, und jetzt ist er weg, sehr nett. Das ist der Teil mit dem Aufnehmen und er funktioniert ganz okay. Jetzt brauchen wir ein Inventar, in dem wir alle Artikel anzeigen, zum Beispiel diesen Schlüssel hier, die sich gerade im Inventar befinden, zum Beispiel in der Tasche, oder vielleicht hat sie einen Rucksack, so etwas. Dann müssen wir alle Artikel im Moment anzeigen, wir haben hier nur einen Artikel, den Schlüssel, und dieser muss im Inventar angezeigt werden. 34. 34 Verschieben des Schlüssels zum Inventar: Jetzt wollen wir unseren abgeholten Schlüssel in das Inventar aufnehmen. Also lass uns eine Bestandsaufnahme machen. Es sollte so etwas wie ein Rucksack oder so etwas sein. Aber in der Praxis denke ich, dass es nur ein Rechteck mit einer Hintergrundfarbe ist, und das war's. Lass uns einfach ein neues Sprite malen. Also wähle hier Farbe und dann machen wir hier einfach ein Rechteck. Also so, leg es hier in die Mitte. Vielleicht ist das ein bisschen zu groß. Vielleicht so etwas. Jetzt ist es wohl nicht die richtige Farbe. Lass uns das auf fast Weiß ändern, würde ich sagen. Also eine etwas geringere Helligkeit als das, das sollte in Ordnung sein. Wir können es später optimieren. Und auch die Position und die Größe sind nicht korrekt. Also lass uns die Größe hier auf acht setzen , mal sehen, wie das aussieht. Und dann verschieben wir es hier nach unten und wir können sehen, dass Avery oder Sprite hier ein bisschen zu niedrig Dann lass uns sie bewegen. Gehen wir auf ihren Code ein. Und wenn wir hier die Startposition festlegen, können wir sie vielleicht 250 -50 setzen Mal sehen, wie das aussieht. Jetzt ein bisschen weniger als das. Ein bisschen genauer. Fangen wir nochmal an. Ja, vielleicht nur ein bisschen mehr wie 42, und jetzt haben wir die richtige Position, schätze ich. Also lass uns sie ein bisschen kontrollieren. Das sieht okay aus. Und das kann vielleicht auch ein bisschen kleiner sein. Also ändern wir hier einfach die Größe, gehen hier zum Pfeil und ändern dann die Größe an den Rändern hier, ungefähr so, oder vielleicht noch kleiner, vielleicht so Ich denke, das ist okay, also lassen wir es so. Im Moment ist das nur der Hintergrund für unseren Rucksack. Nehmen wir an, wir müssen den Schlüssel, der sich hier befindet , in dieses Inventar verschieben hier befindet , , wenn der Spieler ihn aufhebt. Hier haben wir den Code, wenn der Spieler den Schlüssel abholt , jetzt in dem Moment, in dem wir ihn verstecken, aber anstatt ihn zu verstecken, sollten wir ihn hier an die neue Stelle im Rucksack verschieben . Lassen Sie uns das Versteck loswerden und stattdessen den Schlüssel nehmen, der im Moment unsichtbar ist. Wir haben es nicht initialisiert, um es anzuzeigen. Um auf Nummer sicher zu gehen, lassen Sie uns das tun. Zu Beginn zeigen wir hier in der Sendung unseren Tastendruck darauf, und dann ist es hier sichtbar. Lasst uns das Spiel beenden und dann den Schlüssel hierher ins Inventar verschieben . Vielleicht ist hier ein guter Ort. Und dann gehen wir zur Bewegung und gehen zu X Y, und das ist die aktuelle Position hier. Wir ziehen das einfach hierher, bis das Sprite geklickt hat. Was nun passieren muss oder was passieren wird, ist, wenn der Spieler auf die Taste klickt, sie bewegt sich von hier nach hier, also ist sie im Rucksack Und auch dieser Schlüssel, der abgeholt wurde, ist Satz zwei, eins. Wir können diesen Variablenwert hier verwenden, wir können ihn an der Tür verwenden, wenn der Spieler gegen die Tür stößt, also fangen wir es noch einmal an. Und das Problem dabei ist, dass wir keine Startposition festgelegt haben, deshalb die Taste im Moment, wir können hier auf dem Sprite auf die Taste klicken und dann blinkt sie Du schaust hier hin und du kannst sehen, dass es blinkt. Es ist also unter unserem Inventar, richtig. Also lass uns das Sprite in die hintere Schicht legen. Also, wenn wir auf Dann unter Looks klicken, haben wir das hier „Gehe zur vorderen Ebene und das wird hier zur hinteren Ebene wechseln Das wird jetzt unter dem Schlüssel sein, sollte es sein. Mal sehen, wo der Schlüssel ist. Nein, ist es immer noch nicht. Vielleicht brauchen wir auch, wir haben diese hintere Schicht hier. Wir sollten auch wechseln , um zur vorderen Ebene zu gehen. Das war ein Fehler. Hier haben wir den Schlüssel, aber er ist nicht in der richtigen Position, also müssen wir ihn wieder an die Stelle unter dem Bett legen . Lass es uns dorthin verschieben. So etwas hier. Das sieht gut aus. Go two x y sollte die richtige Position sein, und das ist die Startposition unseres Schlüssels. Lass es uns versuchen. Geh rüber zum Schlüssel und versuche ihn abzuholen. Das ist das Problem hier. Es ist hier nicht in der richtigen Ebene, es wird hier drüben angezeigt. Das ist ein Problem, aber das können wir später lösen. Und wir haben hier auch ein Problem , weil die Tür verschlossen ist Ich muss sie beim Schlafwandeln verriegelt haben Das ist die Farbe, die hier der Tür entspricht Das ist also auch ein Problem. Nun, lass uns auf den Sprite klicken und das funktioniert zumindest Also wird dieser Schlüssel an diesen Ort hier im Inventar verschoben an diesen Ort hier im Inventar Okay, lassen Sie uns zuerst dieses Layer-Problem beheben. Also hier müssen wir natürlich wieder nach hinten gehen, weil wir sicherstellen müssen , dass der Schlüssel hier hinter unserer Hauptfigur liegt . Aber wenn wir es dann ins Inventar verschieben, müssen wir sicherstellen, dass es auch von der obersten Ebene bis zur vorderen Ebene geht. Wenn wir es also hierher verschieben, können wir einfach zur vorderen Ebene gehen. Also lass uns das versuchen. Also jetzt liegt es hinter Avery. Alles. Hier gibt es dieses Farbproblem, aber lassen Sie uns darauf klicken und wir haben es in unserem Inventar. Lassen Sie uns dieses Farbproblem loswerden. Offensichtlich hat der Schlüssel eine Farbe, die auch der Farbe der Tür entspricht. Also müssen wir die Farbe der Tür oder die Farbe des Schlüssels ändern . Also lasst uns diese Farbe hier in unserem Hintergrund ändern. Also können wir hier ein bisschen hineinzoomen. Oder vielleicht ist es einfacher, die Farbe des Schlüssels zu ändern, also lassen Sie uns das überprüfen. Ja, es ist eine Farbe hier, alles eine Farbe, also können wir hier vielleicht alle auswählen. Alles auswählen ist Befehl A oder Control A unter Windows und auf Mac ist es Befehl A. Wählen Sie also einfach alles aus und wir können hier eine andere Füllung wählen. Vielleicht ist es ein grüner Schlüssel, so etwas in der Art. Also Helligkeit ein bisschen dunkler, vielleicht diese Dauer, ein bisschen weniger und ein bisschen anders in der Farbe, nicht sehr hübsch, aber ich hoffe, es wird funktionieren. Jetzt ist es hier nicht sehr schön. Der Kontrast ist nicht sehr schön. Also lass es uns noch dunkler machen. Jetzt ist es besser. Wir haben hier einen grünen Schlüssel. Also lass uns das versuchen. Es gibt immer noch eine Kollision. Oh, ich habe es hier ausgewählt und versehentlich mit den Cursortasten bewegt. Also sollten wir das rückgängig machen. Lass uns den Code ändern und dann das Spiel neu starten. Okay, also wir bekommen weder diese Farbe noch diese Nachricht über die Tür, also ist alles okay. Also lass uns auf den Schlüssel klicken und hier ist er. Okay, jetzt müssen wir zur Tür gehen, und sie ist natürlich immer noch verschlossen, weil wir nichts implementiert haben , um die Tür zu öffnen. Lass uns das im nächsten Video machen. 35. 35 Entriegeln der Tür: Jetzt, wo wir den Schlüssel in unserem Inventar haben oder der Spieler den Schlüssel im Inventar hat, können wir die Tür öffnen, zumindest theoretisch könnte der Spieler die Tür öffnen, und das implementieren wir in diesem Video Es ist ziemlich einfach. Wir haben die Variable bereits hier, setzen den Schlüssel auf eins, also können wir das einfach testen. Und dafür müssen wir zum Spieler gehen. Und hier haben wir den berührenden Farbteil, und falls der Spieler die Farbe der Tür berührt, sagt Avery, ist die Tür verschlossen Ich muss es getan haben und so weiter. Und hier ist, was wir ändern müssen. Also müssen wir hier einen Scheck überprüfen oder einfügen. Also lass uns zur Kontrolle gehen. Und dann das, wenn, und wir müssen die Variable natürlich auf Gleichheit überprüfen . Oder wir nehmen besser nicht ob das n, sondern if then else, if then else und diese Gleichheitsprüfung. Wenn es Null ist, also brauchen wir die Variable, wenn der aufgegriffene Schlüssel gleich Null ist, dann können wir sagen, dass die Tür verschlossen ist Aber wenn der abgeholte Schlüssel nicht Null, sondern Eins ist, können wir den Spieler etwas anderes sprechen lassen Sag Hallo für 2 Sekunden oder vielleicht sind es 3 Sekunden, und wir lassen sie sagen. Da ich jetzt den Schlüssel habe, kann ich die Tür öffnen. Jetzt kann ich die Tür aufschließen und endlich mein Zimmer verlassen. Okay. Die Sekunden sollten reichen. Und jetzt setzen wir das wieder in diese, wenn auch berührende Farbe, diese braune Farbe der Tür hier. Lass uns das versuchen. Wir nehmen zuerst den Schlüssel, oder versuchen wir zuerst, den Schlüssel nicht zu haben und dann die Tür zu berühren, die Türen sind verschlossen. Das ist okay. Das ist in Ordnung. Jetzt müssen wir den Schlüssel hier abholen. Geh ein bisschen näher. Jetzt können wir den Schlüssel abholen und dann sollten wir in der Lage sein, die Tür zu öffnen. Da ich jetzt den Schlüssel habe, kann ich den Raum aufschließen und schließlich verlassen, oder ich kann ihn aufschließen. Das ist besser. Was wir gesehen haben , ist, dass Avery aufhören sollte zu laufen Deshalb müssen wir das Kostüm auf Avery B umstellen, auf das Stehkostüm, um es zu duplizieren, und dann machen wir das auch, bevor wir diesen Satz hier sagen Mal sehen, ob das funktioniert. Lass uns den Schlüssel holen. Jetzt läuft sie immer noch. Das Problem ist, dass dies hier dazu führt , dass das Programm hängen bleibt oder das Skript hier für 3 Sekunden hängen bleibt. Diese Animation hier ist also immer noch im Gange, deshalb funktioniert das nicht Aber wir können einstellen, dass wir das hier loswerden können, und wir können die Variable Walking auf Null setzen, set walking 20 setzen, dann sollte diese Animation hier in diesem Code hier nicht weiterlaufen Lass uns das versuchen. Zuerst den Schlüssel holen. Das ist fast genug. Jetzt habe ich den Schlüssel und Avery steht still und sagt den Satz Das ist nett. Aber natürlich müssen wir jetzt auch den Raum verlassen und in den nächsten Raum gehen , und das werden wir im nächsten Video tun. 36. 36 Das Aktionsmenü: Bevor wir uns darum kümmern, die Zimmer zu wechseln und Avery den Raum verlässt und in den nächsten Raum geht Wir werden unser Inventar ein wenig verbessern , sodass ihr im Moment auf jeden Gegenstand im Inventar klicken könnt , es ist nur der Schlüssel und dann bekommt ihr ein Menü mit Befehlen, die ihr ausführen könnt, oder mit Aktionen, die ihr diesen speziellen Gegenstand verwenden könnt In diesem Fall ist es also unser Schlüssel. Dafür erstellen wir hier ein neues Sprite. Zuerst benennen wir dieses Sprite hier um, weil es nur ein kaltes Sprite ist, wir werden es einfach n tree so nennen Dann noch eine Sache, die wir reparieren müssen. Dann fangen wir nochmal ein Spiel an. Geh einfach zur Taste, und was du hier siehst, wenn ich auf die Taste klicke, siehst du hier ein blinkendes Bild, und das ist die Gedankenblase Das Problem ist, dass die Gedankenblase hier sichtbar ist , wenn der Schlüssel ins Inventar verschoben wird Wir müssen die Gedankenblase verstecken, wenn wir den Schlüssel bewegen. Gehen wir dazu über, wenn wir den Mauszeiger berühren. Denken Sie, es ist ein Schlüssel und sonst denken Sie nichts. Hier zeigen wir die Gedankenblase an, wenn das P, der Mauszeiger, die Taste berührt, und wenn dann auf das Sprite geklickt wird, müssen wir die Gedankenblase ausblenden Duplizieren Sie das einfach, denken Sie nichts. Bevor wir hier an diesen neuen Standort ziehen, denken wir uns nichts und so sollte es auch nicht mehr blinken . Lass uns das versuchen Stoppen Sie hier und klicken Sie dann auf die Taste und dann blinkt das nicht mehr. Das ist jetzt, also lasst uns einen neuen Sprite für unsere Aktion erstellen. Diese Aktion wird die Verwendungsaktion sein , damit wir den Schlüssel verwenden können Und wenn du dann auf Benutzen klickst, sollte sich die Tür öffnen und Avery entriegeln und Avery kann dann in den nächsten Raum gehen Lass uns hier ein neues Sprite zeichnen, und wir brauchen eine Art Rechteck Ich denke, lassen Sie uns hier ein Rechteck platzieren. Die Füllung sollte weiß sein , und wir können den Rand hier lassen, schwarz. Das ist okay. Aber es ist natürlich viel zu groß. Lass uns zuerst den Text hier schreiben. Text wird verwendet, und natürlich müssen wir die Füllung hier auf Schwarz setzen , damit wir den Text lesen können. Dann verschieben wir es hierher und wählen dann das Rechteck wieder aus, sodass es hier etwas kleiner wird, aber immer noch zu groß ist. Also vielleicht so etwas, und der Sprite ist im Moment natürlich zu groß Nehmen wir an, es sind 60%. Das scheint richtig zu sein. Also lass uns das hier rüber an diesen Ort verschieben , sodass es einfach hier erscheint, wenn im Inventar auf die Taste geklickt wird Gehen wir zum Code. Ich finde, dass der Auftritt hier ganz okay ist. Ereignisse, wenn auf Go geklickt wird, müssen wir es zuerst ausblenden da es am Anfang nicht angezeigt werden sollte Wähle Ausblenden und verschiebe es hierher. Lass uns das versuchen und es ist weg. Das ist gut. Wann sollte es angezeigt werden? Es sollte angezeigt werden, wenn auf den Schlüssel geklickt wird, aber nicht, wenn der Schlüssel hier geklickt wird, sondern ob sich der Schlüssel im Inventar befindet Lass uns zur Taste gehen. Hier haben wir den Zeitpunkt, an dem dieses Sprite geklickt hat, und hier müssen wir diesem neuen Sprite sagen, dass es sich zeigen soll Und wir haben schon so etwas benutzt, um einem anderen Sprite zu sagen, dass einem anderen Sprite zu sagen Und das können wir mit dem Senden von Nachrichten tun. Hier haben wir die erste Broadcast-Nachricht, und wir müssen sie hier platzieren und wir nennen es nicht Botschaft eins, sondern wir nennen es Display-Aktionen und so. Es kann auch mit einer zweiten Taste, einem zweiten Sprite, verwendet werden, der eine Aktion ausführt In diesem Fall haben wir nur einen, und lassen Sie uns diesen hier umbenennen, sodass er einfach so verwendet Dieser Schlüssel muss dem Sprite hier sagen, dass es sich selbst zeigen soll, also senden wir die Nachricht und gehen wir hier zur Verwendung von Sprite Und hier müssen wir diese Nachricht empfangen. Wenn ich Display-Aktionen erhalte, dann zeige ich es auf diese Weise mit einem Klick auf die Taste an, es wird angezeigt. Lass uns das versuchen und es funktioniert. Also wann immer ich hier auf den Schlüssel klicke, wird dieser hier angezeigt. Das ist natürlich nicht korrekt. Es sollte nicht angezeigt werden, wenn der Schlüssel nicht im Inventar ist. Also das müssen wir jetzt implementieren. Und das ist ein einfaches Wenn. Gehen wir also hier zu den Variablen, Schlüssel abgeholt. Das ist die Variable, die wir überprüfen müssen, also gehen wir zu Operatoren. Wenn der abgeholte Schlüssel gleich eins ist und wir jetzt ein Wenn-Steuerelement benötigen, und wir jetzt ein Wenn-Steuerelement benötigen wenn dann und hier, wenn k abgeholt gleich eins ist, dann können wir die Übertragung hier machen Es ist manchmal nicht so einfach, das „Wenn“ hier um Blocks herum zu setzen Ich mache das einfach so, und dann verschiebe ich das zweite wenn hier unter dieses wenn. Bitte achten Sie darauf, dass es so ist, nicht verschachtelt, weil es dann auch nur ausgeführt oder hier nur geprüft würde nur ausgeführt oder hier nur geprüft , wenn der aufgegriffene Schlüssel gleich eins ist, und das ist natürlich nicht korrekt Du musst es zuerst darunter platzieren, wenn. Stellen Sie sicher, dass Sie es so machen. Wenn also der eingegebene Schlüssel gleich eins ist, können wir senden, und dann können die Benutzungsbefehle angezeigt werden Und wenn der Benutzer auf „Benutzen“ klickt, können wir es vielleicht einfach ausblenden Also suchen wir natürlich und verstecken uns, und dann brauchen wir ein Ereignis, und dann brauchen wir ein Ereignis wenn dieses Monster auf Ausblenden geklickt hat Lass uns das versuchen. Wir gehen rüber zum Schlüssel, damit wir ihn abholen können. Jetzt haben wir ihn im Inventar, wir klicken auf die Taste, der Befehl benutzen, der Aktionsbutton benutzen wird angezeigt und ich klicke auf den Button und er ist weg, wird nicht mehr angezeigt. Das funktioniert. Aber jetzt müssen wir natürlich etwas implementieren, dass du oder Spieler hier auf den Benutzen-Button klicken musst, und nur dann kann die Tür entriegelt werden, und nur wenn Avery tatsächlich in der Nähe der Tür ist, dann kann der Spieler die Tür mit einem Schlüssel aufschließen, indem du den Schlüssel benutzt, und dann kann die Tür entriegelt werden, aber nur, wenn Avery in der Nähe der Tür ist Lassen Sie uns das also im nächsten Video implementieren. 37. 37 Entriegeln der Tür mit der Gebrauchsaktion: Im Moment ist die Tür entriegelt, sobald der Schlüssel abgeholt wird und Avery schlägt oder die Tür berührt, dann ist die Tür entriegelt, und das wollen wir ändern Der Schlüssel ist notwendig, um an der Tür verwendet zu werden. Also lass uns das Spiel nochmal starten. Geh rüber zum Schlüssel, heb ihn auf. Und in diesem Fall tust du natürlich nichts, weil Avery die Tür nicht anfasst Und wenn sie jetzt die Tür berührt , wird sie automatisch entriegelt, aber wir wollen, dass sie immer dann entriegelt wird , wenn Avery die Tür berührt, wenn sie die Taste drückt Und was müssen wir dafür tun? Wir müssen hier zu unserem Use-Sprite gehen. Und wann immer dieses Use-Sprite angeklickt wird, verstecken wir es. Das ist okay. Aber wir senden auch eine neue Botschaft. Also hier senden, nein, wir brauchen hier eine neue Nachricht, und diese neue Nachricht wird angeklickt Und das muss natürlich bei Avery ankommen. Gehen wir zu Avery, und wenn ich dann erhalte, benutze geklickt, und dann müssen wir überprüfen , ob Avery die Tür Also lassen Sie uns hier eine neue Variable einführen, eine Variable nur für diese Braut erstellen, und wir nennen sie berührende Tür, und wir setzen sie, wenn die Tür berührt wird In diesem Fall setzen wir sie also so, eins Tür eins berührt, und in diesem anderen Fall , wenn die Tür nicht berührt wird setzen wir sie natürlich auf Null, wenn die Tür nicht berührt wird. Lassen Sie uns überprüfen, ob das funktioniert. Wir gehen zur Tür rüber. Die Tür zu berühren ist eins, und wenn ich mich von der Tür entferne, ist es Null. Das funktioniert also. Und jetzt müssen wir hier einchecken geklickt haben, wenn ich auf Nutzung geklickt erhalte, das heißt, dass der Benutzer geklickt hat oder der Spieler auf Verwenden auf dem Upright geklickt hat, dann müssen wir überprüfen, ob wir Also lass uns ein Wenn dann anders machen. Ich weiß nicht, ob wir den Koffer brauchen, aber machen wir es damit. Und dann die Gleichheitsprüfung, und jetzt brauchen wir unsere Variable. Also Tür berühren, wenn das Berühren von Tür gleich eins ist, dann berühren wir die Tür und wir erhalten einen Klick Und in diesem Fall können wir sagen, da ich den Schlüssel jetzt habe, kann ich ihn entriegeln Also lassen Sie uns das von hier zu diesem Wenn dann verschieben, und das sollte diesen Satz hier bedeuten. Aber das Problem liegt in der Wertigkeit, wir sagen hier die ganze Zeit nichts Lassen Sie uns das vorübergehend entfernen und dann das Spiel erneut starten, um sicherzugehen Ein Klick auf Verwenden sollte jetzt nichts bewirken. Also das ist okay. Also, jetzt müssen wir die Tür berühren, das Berühren der Tür ist eins, und jetzt klicken wir auf Benutzen und das sollte angezeigt werden. Die Tür ist jetzt unverschlossen. Das scheint zu funktionieren, sehr nett. Lass uns das Spiel neu starten und zur Tür gehen. Die Tür ist verriegelt wird angezeigt, das ist also k zwei. Lass uns weggehen, ohne uns zu berühren, und jetzt bleibt diese Botschaft, diese Seifenblase hier. Das ist also ein Problem. Also können wir es einfach wieder hierher legen, wenn wir es nicht berühren, sonst löschen wir hier nur die Seifenblase. Mal sehen, ob das funktioniert. Lasst uns noch einmal anfangen, den Schlüssel einsammeln und ihn dann benutzen, während wir die Tür berühren. Und das funktioniert. Und ich kann mich auch von der Tür entfernen. Und wenn wir das Spiel neu starten und dann einfach zur Tür gehen, sollte es angezeigt werden. Diese Tür ist verschlossen, also funktioniert das auch. Das ist okay, so wie es ist. Aber natürlich müssen wir an andere Gegenstände denken , die in das Inventar kommen. Und das ging davon aus, dass der Schlüssel hier irgendwie ausgewählt ist , sodass wir ihn aufheben und dann auf den Schlüssel klicken und dann auf Verwenden klicken. Aber wenn wir hier ein anderes Objekt hätten, sagen wir, wir haben etwas, einen Apfel vielleicht, und wir klicken auf den Apfel und dann auf Verwenden, dann würde das nicht funktionieren, weil alles davon ausgeht, dass dieser Gebrauch auf den Schlüssel geklickt wird Wir müssen hier ein wenig verallgemeinern. Wenn wir hier mehr als einen Artikel in unserem Inventar haben, müssen wir überprüfen, auf welchen Artikel geklickt wurde und welchen Artikel diese Nutzungsaktion vorgesehen ist Wenn zum Beispiel ein Apfel verwendet wird, muss natürlich jeder den Apfel essen und die Tür nicht aufschließen Das ist es, was in dieser speziellen Situation hier, so wie wir sie haben, nicht funktioniert . Die Logik ist hier etwas zu spezifisch. Wir müssen die Logik hier verallgemeinern. Aber zuerst gehen wir in den nächsten Raum, und dort haben wir vielleicht einen zweiten Gegenstand, den wir abholen können, und das ist vielleicht die Küche, der nächste Raum, und dort können wir einen Apfel finden und ihn aufheben und den Apfel verwenden 38. 38 Benutzerdefinierter Sprachblock: Es fehlt also noch eine Sache hier auf diesem Bildschirm. Wenn wir wieder ein Spiel starten, dann gehen wir hierher, die Tür ist verschlossen. Wir müssen zuerst den Schlüssel abholen. Alles ist okay. Aber das Problem ist, wenn wir dann den Schlüssel abholen und ihn benutzen und wir die Tür nicht berühren, dann passiert nichts. Das ist hier genau der Fall, und in diesem Fall müssen wir etwas anderes sagen. Nehmen wir an, wir verdoppeln das und sagen dann so etwas wie, ich kann diesen Schlüssel hier nicht verwenden, und das kann hier für 2 Sekunden sein. Lass uns das machen, den Schlüssel einsammeln und versuchen, ihn zu benutzen, ohne die Tür zu berühren. Und es funktioniert nicht. Warum es nicht funktioniert. Das liegt daran, dass wir es hier sagen, aber das Problem liegt hier in unserer ewigen Schleife, wir berühren in diesem Fall nicht die Farbe. berühren also nicht die Tür und im Fall von S sagen wir hier nichts. Deshalb wurde die Sprechblase sofort gelöscht. Das ist das Problem hier. Um es zu lösen, möchte ich unseren Code umgestalten. Refactoring, das wir bereits hatten, ändert den Code, aber nicht In diesem Fall ist es so, als hätten wir einen Pfeil, wir haben sozusagen einen Bug, aber wir lösen ihn nicht in dieser Struktur hier, sondern wir machen zuerst ein Refactoring und dann können wir ihn mit diesem Refactoring lösen, wir können wir Lass uns das machen. Die Idee ist , hier einen benutzerdefinierten Block zu haben. Wir haben das schon gemacht, einen Blog erstellt und diesen Block nennen wir Speak. Wir können es auch so machen, in Kleinbuchstaben sprechen, und wir können hier auch Eingaben hinzufügen. So können wir eine Zahl oder eine Texteingabe hinzufügen. Wir können eine Bleen-Eingabe hinzufügen oder wir können ein Label hinzufügen. Konzentrieren wir uns also auf diesen ersten und fügen Sie eine Eingabe hinzu. Die erste Eingabe wird die eigentliche Nachricht sein. Also nennen wir es Nachricht und wir benötigen eine zweite Eingabe für diesen Block, die Dauer, und das ist die Dauer der Sprechblase, die die Sprechblasen angezeigt haben. Wir haben hier also zwei Parameter. Also die erste ist die Botschaft , die gesprochen werden soll, und die zweite ist die Dauer. Also lass uns auf klicken, und jetzt haben wir hier unseren benutzerdefinierten Block. Wir haben also diese Definition, also lassen Sie uns sie hier nach unten verschieben. Wir haben also genug Spielraum, um es umzusetzen. Wie setzen wir es um? Wir können hier unsere Parameter verwenden. Wir haben Nachricht und Dauer, und wir können sie wie eine Variable verwenden. Wir können das hier rausziehen und irgendwo platzieren , wo auch Variablen erlaubt sind. Lassen Sie uns zuerst hier sprechen. heißt es auch, und wir werden uns das ansehen und das hier Hallo sagen. Aber wir wollen hier nicht Hallo sagen, sondern eine Botschaft. Was auch immer hier als erster Parameter angegeben ist, und wir werden sehen, wie das geht, wird hier eingestellt, es wird gesprochen. Lassen Sie uns diesen Block hier mit diesem Nachrichtenparameter aufrufen. Also hier sagen wir, ich kann hier 2 Sekunden lang nicht Ski fahren, und wir holen das aus dem LS und wir gehen zu meinen Blöcken ziehen das Sprechen hierher zum anderen. Und jetzt können wir zwei Parameter angeben. Die erste ist, wie gesagt, die Nachricht, also kopieren wir das hierher, also wird das die Nachricht sein, und jetzt können wir es versuchen. Also hol einfach den Schlüssel. Und wir benutzen den Schlüssel hier drüben. Und vielleicht hast du es gesehen. Ich kann es noch einmal machen, e, und du siehst die Blase, die Sprechblase, aber sie wird hier sofort gelöscht. Warum ist das so? Natürlich? Aus diesem Grund sagen wir hier. Wir können das Sagen loswerden. Wenn wir sagen, nichts wird die Sprechblase hier löschen oder auslöschen. Also werden wir das los und versuchen es noch einmal, e, und jetzt bleibt das natürlich, es bleibt sozusagen für immer, oder zumindest bis es eine weitere Botschaft gibt. Also spricht sie das jetzt immer. Ich kann diesen Schlüssel hier nicht verwenden. Aber wir können den Schlüssel natürlich hier benutzen und jetzt sagt sie das hier. Und jetzt sagt sie nichts. Hier sagen wir, da ich den Schlüssel jetzt habe, kann ich ihn aufschließen und endlich mein Zimmer verlassen, und das wird 3 Sekunden lang gesagt und nach 3 Sekunden ist diese Sprechblase gelöscht. Deshalb verschwindet sie hier. Aber wie dem auch sei, wir müssen hier die Dauer berücksichtigen , damit wir dies auch durch unseren neuen Sprechblock ersetzen können dies auch durch unseren neuen Sprechblock ersetzen Lass uns das machen. Damit das funktioniert, müssen wir warten Also warten wir Sekunden, und diese Sekunden hier sind die Dauer. Ziehen wir also die Dauer hierher, den zweiten Parameter, um zu warten. Und nachdem wir dann die Zeit abgewartet haben , die hier in den Parametern angegeben wurde, können wir nichts sagen. Sieht so aus und löscht dann den Text hier, sodass er leer ist. S Nachricht, warte auf die Dauer, die wir vom Anrufer hier bekommen haben, und sag dann nichts Hier können wir sagen, vielleicht 2 Sekunden, und für dieses können wir das hierher ziehen und zuerst diese Nachricht in den ersten Parameter hier kopieren Und dann dauert die Sekunde hier 3 Sekunden. Jetzt können wir diesen Block loswerden und ihn durch unseren benutzerdefinierten Block ersetzen. Lass uns das versuchen. Holen wir uns den Schlüssel und dann können wir ihn hier benutzen, und wir sollten, ich kann diesen Schlüssel hier nicht verwenden, und dann verschwindet er Also das ist das hier. Aber jetzt gehen wir zur Tür und hier können wir den Schlüssel benutzen. Da ich den Schlüssel jetzt habe, kann ich ihn aufschließen und endlich mein Zimmer verlassen. Das ist okay. Alles in Ordnung. Lassen Sie uns dieses Sprichwort hier loswerden und es auch durch unseren Block ersetzen. Wir ziehen das hier rein, sprechen. Der erste Parameter ist natürlich unser Text, und der zweite, wir können vielleicht sagen, warten wir 3 Sekunden, weil es ein langer Satz ist und wir 3 Sekunden brauchen, um ihn zu lesen. Der durchschnittliche Spieler könnte ihn in 3 Sekunden lesen . Lass uns das versuchen. Wenn wir hier drüben die Tür berühren , ist die Tür verriegelt und Avery läuft immer noch, wie Sie sehen können, und ich kann Avery nicht bewegen wenn diese Meldung hier angezeigt wird Ich kann sie nicht bewegen. Wenn ich weiter in die Tür gehe, habe ich auch Probleme, die Tür zu verlassen. , das ist keine gute Benutzererfahrung Ich denke, das ist keine gute Benutzererfahrung. Was ist hier das Problem? Es reagiert hier nicht auf meine Pfeiltasten. Warum ist das so? Weil wir hier warten. Wenn wir Speak anrufen, warten wir auf diese Dauer, und wenn es hier 3 Sekunden sind , dann warten wir hier, wir sind hier blockiert, 3 Sekunden, und deshalb geht diese ganze Dauerschleife hier nicht weiter, und wir können nicht in den Bereich gehen, wenn der Linkspfeil gedrückt ist , wenn die Taste gedrückt ist, der Rechtspfeil gedrückt wird. Das ist nicht möglich, weil es hier feststeckt, und es muss warten, bis die Dauer hier fortgesetzt wird. Das ist nicht nett, aber es gibt eine Möglichkeit, das zu umgehen. Das können wir asynchron machen. Das heißt, wir müssen hier nicht blockieren, aber nach Ablauf der Dauer können wir die Sprechblase hier löschen. Wie machen wir das? Wir arbeiten mit Rundfunkbotschaften. Gehen wir zu den Ereignissen über und erstellen wir eine neue Broadcast-Nachricht. Wenn wir die Nachricht sagen, wird sie natürlich angezeigt, und dann müssen wir auf ein anderes Ereignis warten. Hier haben wir eine neue Nachricht, und ich nenne sie Sprachentfernung, und das wird uns das Warten abnehmen. Das wird das hier machen. Aber hier können wir einfach senden. Dann können wir auf diese Nachricht reagieren, sobald ich sie erhalte. Wenn ich diese neue Nachricht zum Entfernen der Sprachausgabe erhalte, können wir die Dauer abwarten und dann nichts sagen. Lass uns das versuchen. Es scheint zu funktionieren, aber nicht vollständig, weil die Sprechblase sofort verschwindet. Also warum ist das so? Das liegt daran, dass diese Dauer hier nicht berücksichtigt wird, aber hier ist sie immer Null. Weil das ein Parameter hier in dieser Funktion ist, in diesem benutzerdefinierten Block, aber es ist hier nicht bekannt, wann ich Remove-Speech erhalte. Wir müssen diesen Wert irgendwie hier, diesen Wert für die Dauer, auf diesen übertragen Dauer , wenn ich hier einen Handler erhalte. Wie machen wir das natürlich mit einer Variablen? Lassen Sie uns eine neue Variable erstellen, und wir nennen sie Sprachzeit entfernen oder, sagen wir, Dauer, oder nennen wir sie Sprachdauer. Es ist kürzer, nicht für alle Sprites, weil wir nicht für die anderen Sprites brauchen nur für dieses Sprite, und dann haben wir hier diese neue Variable Und natürlich müssen wir es hier setzen. Also, wenn wir es bekommen, Sprachdauer, können wir es einfach hier einstellen, Sprachdauer zwei Dauer auf den zweiten Parameter hier setzen. Und jetzt können wir es auch hier verwenden. Also muss unsere Variable für die Sprachdauer hier hin, und das können wir loswerden. Und nach dieser Sprachdauer in Sekunden löschen wir diese Sprechblase hier. Lass uns das versuchen. Jetzt wird es nach den 3 Sekunden gelöscht, aber nicht, wenn wir es berühren. Wenn wir es berühren, wird es immer wieder gesprochen, also verschwindet es nicht Aber ich denke, das ist okay. Also wenn wir die Tür nicht berühren, dann verschwindet sie nach 3 Sekunden. Und was hier schön ist, ist, dass wir den Charakter immer noch kontrollieren können, auch wenn die Sprechblase angezeigt wird. Das ist sehr. Wir haben hier immer die Kontrolle. Wir können Avery immer noch bewegen, auch wenn wir die Sprechblase einblenden Und wir haben hier die Kontrolle über die Dauer, wie lange sie angezeigt wird Das ist also sehr nett, und wir haben diesen benutzerdefinierten Speak-Block hier diesen benutzerdefinierten Speak-Block, den wir an all diesen Orten verwenden können. Und wenn wir etwas ändern wollen, die Funktionalität, wenn wir das verbessern wollen, dann können wir einfach diesen benutzerdefinierten Block hier ändern, und dann wird er für alle Anrufer geändert Also hier benutzen wir es. Mal sehen, ob wir hier noch ein Mitspracherecht haben. Nein, haben wir nicht, also ist das okay, also haben wir hier alle Vorkommen von sagen wir durch unseren neuen benutzerdefinierten Block ersetzt . Das ist sehr nett Wir haben hier einen benutzerdefinierten Block mit zwei Parametern definiert, Nachricht und Dauer, und beide Parameter werden hier verwendet. Als Erstes setzen wir diese lokale Variable auf die Dauer, die hier angegeben wurde. Dann sagen wir die Nachricht die auch hier geliefert wurde, und hier machen wir diese Übertragung, und wir machen diese Übertragung, weil das hier unsere Funktion hier nicht mehr blockiert , unseren Block hier. Das ist hier also völlig unblockierend. Es macht nur eine Übertragung und hier gibt es auch einen anderen Befehl. Senden und warten, und das würde blockieren. Also können wir es hier versuchen. Also verschieben wir das hierher und entfernen dann die Sprachausgabe. Wenn wir es so machen, Sprache entfernen und warten, werden Sie sehen, dass sie jetzt immer noch blockiert ist. Das ist also nicht der richtige Weg, es zu tun. Aber hier blockieren wir unsere ewige Schleife und hier nicht alle Tastenbefehle verarbeiten. Deshalb ist es hier nicht die richtige Lösung, also brauchen wir diese Übertragung ohne Wartezeiten. Weil es hier nicht darauf wartet, dass dieser Receiver fertig ist . Es setzt diese ewige Schleife hier einfach fort und wir können Avery immer noch kontrollieren Das war unser neuer benutzerdefinierter Block mit Parametern, und das ist eine sehr nette Möglichkeit, den Code wartbarer und besser strukturiert zu machen , und Sie haben weniger Aufwand, hier Änderungen vorzunehmen Auf diese Weise ist es eine gute Praxis beim Programmieren, Funktionen zu haben, die an vielen Stellen in einer Funktion verwendet werden , oder in diesem Fall handelt es sich um einen benutzerdefinierten Blog Sie können diesen benutzerdefinierten Block hier mit Parametern versehen, und auf diese Weise können wir jede Rede halten und sie trotzdem kontrollieren. 39. 39 Ändere den Raum: Lass uns die Zimmer wechseln. Und dafür brauchen wir natürlich eine neue Kulisse, also lasst uns auf die Bühne gehen. Und hier haben wir die Kulissen. Im Moment haben wir nur eins, Schlafzimmer zwei. Und jetzt laden wir noch einen hoch. Ich habe mit Hilfe von KI mit Copilot bzw. D drei ein Küchenbild oder eine Küche generiert Hilfe von KI mit Copilot bzw. D drei Hier ist es, wählen Sie einen Hintergrund und laden Sie dann den Hintergrund hoch. Wählen Sie hier ein Bild von Ihrer Festplatte aus. Ich habe dieses mit Hilfe von KI gemacht und wir können es für dieses Spiel verwenden. Hier ist es. Ich muss die Größe ein wenig ändern. Hat nicht die richtige Größe. Steuerung A oder Befehl A, und dann haben wir das Bild ausgewählt, und dann können wir es ein wenig dehnen und es auch hierher bewegen, wo zum Beispiel der Stuhl und der Tisch nicht sichtbar sind, hier nicht mehr sichtbar, oder vielleicht nur dieser Teil des Stuhls, und dann können wir es ein bisschen dehnen. Ich denke, das ist akzeptabel. Aber natürlich kannst du dir dein eigenes Bild von einer Küche machen oder von wo auch immer du es haben möchtest. Ich habe es mit Hilfe von KI erstellt. Das kannst du auch. Aber du kannst es auch, wie gesagt, selbst malen oder von einer anderen Quelle herunterladen und es hier wie den Upload-Hintergrund hochladen und es dann einfach aus deiner Dateiauswahl auswählen Das war der Finder, weil ich hier in Windows auf einem MC bin, du hast den Windows Explorer Damit du hier Bilder hochladen kannst. Es kann ein JPAC oder PNG sein oder es kann auch ein SVG sein. Jetzt haben wir den Hintergrund hier als Sekunde. Also der erste wird dieser sein. Und natürlich müssen wir es zu Beginn des Spiels auf den ersten Wert einstellen. Kommen wir also hier zum Code der Phase. Sie können also von Hintergründen zu Code wechseln. Und hier können wir auch dieses Ereignis haben, wenn Go geklickt hat, und hier wechseln wir zum ersten Hintergrund und wechseln zwischen Hintergrund zwei Küche jetzt, Schlafzimmer zwei, das ist also richtig, also gehen wir hier immer wieder in unser erstes Zimmer Und wenn wir das Rätsel für den ersten Raum gelöst haben, müssen wir hier natürlich das Rätsel für den ersten Raum gelöst haben, die Kulisse wechseln Gehen wir also zu Avery, und das ist der Fall, in dem das Rätsel gelöst ist Da ich jetzt den Schlüssel habe, kann ich ihn aufschließen und endlich mein Zimmer verlassen Und danach kann Avery das Zimmer wechseln und in die Küche gehen Und das ist sehr einfach. Schalten Sie den Hintergrund zur Küche um. Und auf diese Weise haben wir den Umkleideraum. Also lass uns das versuchen. Löse zuerst das Rätsel. Klicke auf den Schlüssel. Benutze es. Das ist zu früh, weil wir nicht in der Tür sind oder nicht vor der Tür, und jetzt sollten wir den Schlüssel benutzen und dann gehen wir in und jetzt sollten wir den Schlüssel benutzen den zweiten Raum, das ist die Küche. Hier können wir Avery wie zuvor bewegen und sie kann hier die Küche erkunden Das ist also kein Problem. Aber natürlich brauchen wir hier ein Objekt, und wir brauchen hier natürlich noch ein Rätsel , das gelöst werden muss. Um das Haus zu verlassen, sollte sie vielleicht zur Schule gehen und das Haus verlassen. Sie sollte etwas zu essen finden, sie mit zur Schule nehmen kann, vielleicht einen Apfel, oder sie vielleicht ihre Schultasche mitnehmen wollen. Also das müssen wir uns hier einfallen lassen. Also mussten wir zuerst den Hintergrund ändern, und das geht ganz einfach mit diesem Block, zwischen Hintergrund und Küche. So können wir auch zum nächsten Hintergrund wechseln. Das könnten wir auch tun. Aber ich denke, es ist hier einfacher, das so zu machen. Also, um zu einem bestimmten Hintergrund zu gehen, weil du vielleicht in den anderen Raum zurückkehren möchtest, und dann müssen wir in einen bestimmten Raum gehen . Also lass uns das loswerden. Und schalte einfach den Hintergrund zur Küche um. Aber hier müssen wir vielleicht etwas anderes tun. Und wenn wir diesen Raum verlassen wollen, müssen wir auch etwas anderes tun. Und deshalb sollten wir hier einen neuen Block definieren , den ich Go to Room nenne. Und hier können wir zum Beispiel eine Zahl oder einen Text eingeben, der der Raum ist , in den wir gehen müssen. Machen wir es also so und definieren hier „Gehe in den Raum“ und „Hintergrund wechseln“. Das sollten wir hier machen. Und hier können wir Zahl oder Text wählen. Wechseln Sie den zweiten Hintergrund. Also das sollte in diesem Fall hier sein, Küche. Also sollten wir das besser umbenennen. Klicken Sie also mit der rechten Maustaste auf Definieren und fügen Sie es hinzu. Also hier nennen wir den ersten Parameterraum. Das ist viel besser. Also haben wir diesen Raum , der ein Text ist, der Name des Raums, und wir müssen ihn hier anrufen, nach dem Vortrag in Raum, und hier setzen wir ihn in Küche. Also lass uns versuchen, ob das funktioniert. Also kehren wir zum Anfang zurück. Wir müssen das erste Rätsel lösen. Gehen wir zur Tür und benutzen den Schlüssel. Wir sind hier und es funktioniert. Das ist nett, also können wir hier auch etwas anderes machen. Wechseln Sie zwischen Hintergrund und dann zwischen dem, was hier als Raumparameter angegeben ist. Zum Beispiel könnten wir hier einige Objekte platzieren. Lass uns ein neues Sprite erstellen, und dieses Mal wird es dieser Apfel hier sein Lass uns den Apfel legen. Wir machen es ein bisschen kleiner, vielleicht nur um 60%. Das ist zu groß, etwa 40, 40% Im Code müssen wir es auf versteckt setzen, wenn wir klicken. Also lass es uns zuerst verstecken. Und dann können wir den Apfel irgendwo platzieren. Platzieren wir ihn hier drüben und machen ihn ein bisschen kleiner, vielleicht 30%. Das ist besser. Also lass uns das Spiel neu starten und der Apfel ist weg. Sehr nett. Und jetzt, wenn wir in die Küche wechseln, sollte der Apfel gezeigt werden. Wie machen wir das? Wir senden. Also hier sollten wir aussenden , dass wir den Raum gewechselt haben. Lass uns zu Veranstaltungen gehen und dann hier senden. Das Zimmer hat sich geändert. Jetzt müssen wir natürlich wissen, welcher Raum der aktuelle Raum ist. Wir setzen eine neue Variable und nennen diesen aktuellen Raum und das ist natürlich eine Variable für alle Sprites Wir müssen den aktuellen Raum hier auf diesen angegebenen Parameter setzen, hier den aktuellen Raum zwei Räume setzen. Jetzt können wir diesen Raum oder den aktuellen Raum verwenden , um den Apfel zu zeigen. Ereignisse, wenn ich das Zimmer geändert erhalte, dann überprüfen wir mit einer Steuerung, ob die aktuelle Raumvariable auf zwei Küchen gesetzt ist. Aktueller Raum entspricht Küche. Dann können wir den Apfel zeigen. Lass uns das versuchen. Starte das Spiel. Nimm den Schlüssel, geh zur Tür und jetzt haben wir den Apfel hier. Sehr nett. Wir haben erfolgreich die Zimmer getauscht. Wir haben den Apfel gezeigt, und das ist vorerst unser Code für Umkleideräume. Das wird natürlich erweitert, aber vorerst können wir vom Startzimmer, dem Schlafzimmer, in die Küche wechseln . 40. 40 Ändern von Spielobjekten in Klone: Jetzt, wo wir den zweiten Raum und den Apfel haben, werden wir hier ein paar Dinge ändern Im letzten Video habe ich den Apfel hier und hier in diesem Video als Sprite hinzugefügt den Apfel hier und hier in diesem Video als Sprite Ich habe den Apfel wieder entfernt. Warum? alle Spielobjekte mit Klonen dieses Sprites Weil wir hier alle Spielobjekte mit Klonen dieses Sprites implementieren wollen. Was ist der Grund dafür Der Grund ist, dass wir dann einfach jedes Objekt auf die gleiche Weise behandeln können, und wir können auch Listen verwenden, und wie wir das machen , werde ich Ihnen in diesem Video zeigen. Zuerst haben wir diesen Sprite hier, den Schlüssel, und wir werden hier ein weiteres Kostüm hinzufügen Und das zweite Kostüm ist schon da. Es ist der Apfel. Wenn du ihn also noch nicht hast, wähle ein Kostüm aus und wähle dann hier den Apfel aus. Dann haben wir hier zwei Kostüme. Der erste ist der Schlüssel, der zweite der Apfel. Und die Idee ist, für jedes Objekt ein anderes Kostüm zu haben. Okay. Also das ist der erste Schritt , damit wir hier zwei verschiedene Kostüme haben. Und natürlich müssen wir zu Beginn des Spiels das richtige Kostüm auswählen. Also machen wir das, wenn diese Braut angeklickt wird, ist hier nicht die richtige Funktion. Aber wenn wir klicken, wenn die Flagge angeklickt wird, müssen wir das richtige Kostüm für unser erstes Also lasst uns das Kostüm auf H umstellen und dann können wir ein Spiel starten, und es wird wieder ein Schlüssel sein, und es gibt keinen Unterschied im Spiel Wir können immer noch zur Tür gehen und den Schlüssel benutzen, und hier fehlt natürlich der Apfel. Aber wie stellen wir den Apfel hier dar? Klone praktisch, also werden wir sie kontrollieren und dann einen Klon von mir erstellen Das ist der Block, den wir brauchen, und wir müssen hier natürlich einige Objekte erstellen , einige Klone Die Idee von Klonen ist , dass man eine Kopie des Sprites macht , in diesem Fall von demselben Sprite von mir, also das Aber wir werden das Sprite auch hier umbenennen. Sagen wir Spielobjekt , damit das generischer ist als nur der Schlüssel Okay, wir können hier einen Klon dieses Schlüssels dieses Spielobjekts erstellen , und das werden wir natürlich zu Beginn des Spiels tun. Also könnten wir hier einfach, sagen wir, zwei Klone erstellen und es so machen Und natürlich können wir das auch mit einer Wiederholungsschleife machen. Also wiederhole es hier zehnmal. Also vielleicht können wir es einfach zweimal wiederholen. Und dann reicht nur ein Create-Clone weil wir das zweimal wiederholen, also haben wir zwei Klone. Woran erkennen wir die Klone hier? Also wenn ich anfange, sehe ich keinen Unterschied. Als Erstes müssen wir das ursprüngliche Sprite verstecken. Also schauen wir uns hier um und verstecken uns dann. Also verstecken wir den Schlüssel, in diesem Fall das erste Kostüm. Also ist der Schlüssel weg. Wir erstellen zwei Klone. Der erste Klon wird der Schlüssel sein. Der zweite Klon wird natürlich der Apfel sein. Was wir jetzt brauchen, ist natürlich das Ereignis, wenn ich als Klon anfange. Also das, was mache ich, wenn ich als Klon anfange? Wir müssen dasselbe tun wie beim Klicken auf die Flagge. Also verschieben wir einfach den ganzen Block hierher, wo ich als Klon anfange, und wir können diesen hier loswerden Jetzt werden also zwei Klone erstellt, und für jeden Klon, wenn der Klon gestartet wird, wird das hier gemacht. Mal sehen, was das mit unserem Spiel macht. Der Schlüssel wird wieder angezeigt. Das ist nett. Versuchen wir, ob wir den Schlüssel abholen können. Das funktioniert auch. Aber wir sehen, dass hier der Schlüssel tatsächlich immer noch da ist. Dies ist der Klon des Schlüssels und nicht der erste Schlüssel selbst. Natürlich, weil das erste Sprite, das ursprüngliche Sprite hier, versteckt ist und versteckte Sprites nicht angeklickt werden können, also handelt es sich hier natürlich Aber der zweite Schlüssel hier ist natürlich der zweite Klon, aber das zweite, das zweite Objekt muss der Apo sein Wie unterscheiden wir hier zwischen dem ersten Klon und dem zweiten Klon. Das ist sehr wichtig. Was verwenden wir dafür, eine Variable, lassen Sie uns hier eine Variable erstellen, und das muss nicht für alle Sprites sein, sondern nur für diese Sprites Weil es nur für dieses Sprite ist, ist es auch für Es ist also auch für die Klone zugänglich, und nennen wir es einfach Index Und wir erhöhen den Index hier in unserer Wiederholungsschleife. Variablen ändern sich. Lassen Sie uns also den Index um eins ändern. Natürlich setzen wir auch hier den Anfangswert auf Null. Der erste Index wird also eins sein, und dann wird der Klon erstellt, der erste Klon, und dann wird der Index wieder um eins geändert. Dann werden es zwei sein, und dann wird der zweite Klon erstellt. Und um zu überprüfen, welcher Wert hier in unserem Klon verfügbar ist, sagen wir hier die Variable. Sagen wir also Hallo und dann Variablenindex, und wir werden sehen, welcher Index dann angezeigt wird. Also lass uns das Spiel starten. Also wird natürlich nichts gezeigt, weil wir die Serie nach dem S machen, also lasst uns das ändern. Wir müssen es zuerst zeigen und dann können wir sagen, sonst die Blase, die Sprechblase nicht sichtbar. Also lass uns das machen. Und warum funktioniert es nicht , weil wir hier nachdenken. Und wenn du nichts denkst, dann ist auch die Sprechblase nicht mehr sichtbar. Also lass uns zuerst das hier loswerden und dann lass uns sehen. Also hier haben wir zehn, warum sind es zehn? Weil wir hier die falsche Variable gesetzt haben, es ist also kein aktueller Raum, sondern es muss natürlich ein Index sein. Also lass es uns noch einmal versuchen. Und jetzt haben wir natürlich zwei. Sehen wir nicht den anderen. Der erste Klon muss eins sagen, zweite Klon muss zwei sagen, der zweite Klon muss zwei sagen, aber sie befinden sich natürlich am selben Ort, deshalb funktioniert das nicht. Wir müssen sie an verschiedenen Orten platzieren , um zu sehen, ob das wirklich funktioniert. Gehe zu x und y und y muss sich je nach Index ändern. Der erste Klon sollte sich an einem bestimmten Ort, bestimmten Y-Position befinden, und der zweite sollte sich an einem anderen Ort befinden. Machen wir das mit den Operatoren hier und multiplizieren wir mit dem Index. Holen wir uns also den Index hier. Das heißt nicht multiplizieren. Wir multiplizieren hier den Index, und dann können wir vielleicht 40 sagen, und dann gehen wir zu Y 40 mal Index. Also zuerst sollte Sprite bei 40 sein, zweitens sollte es bei 80 sein Also lass uns sehen, wie das aussieht. Jetzt können wir sehen, dass sie beide unterschiedliche Indizes haben. Der erste hat natürlich einen, der zweite hat zwei. Und der zweite sollte ein Apfel sein und kein Schlüssel. Also müssen wir je nach Index die Kostüme wechseln. Also muss das erste Objekt natürlich das Schlüsselkostüm sein. Das zweite muss das Apfelkostüm sein . Wie machen wir das? Das ist ziemlich einfach. Wir schauen uns einfach an und dann das nächste Kostüm hier. In dieser Wiederholungsschleife werden wir einfach zum nächsten Kostüm wechseln und mal sehen, wie das funktioniert. Funktioniert nicht, weil wir hier auch die Kostüme wechseln. Also lass uns das entfernen. Hier wechseln wir zum nächsten Kostüm und jetzt funktioniert es. Index eins ist also das Schlüsselkostüm. Die nächsten beiden sind das Apfelkostüm. Auf diese Weise können wir sagen, welcher Klon welcher ist. Der erste ist der Schlüssel und der zweite ist der Apfel, und der erste ist im ersten Raum, der zweite sollte natürlich im zweiten Raum sein, und das machen wir im nächsten Video. 41. 41 Einführungslisten: Da wir jetzt unsere beiden Kostüme hier am Anfang haben, können wir hier eine kleine Anpassung vornehmen, um sicherzugehen , dass das erste immer das Hauptkostüm sein wird. Wir müssen am Anfang die Kostüme wechseln. Also das Kostüm nicht auf Apple, sondern auf Key umstellen, und das sollten wir vielleicht tun, nachdem wir den Schlüssel oder das Sprite hier versteckt haben , das ursprüngliche Sprite Also lass uns das versuchen, und das sollte okay sein Was wir jetzt tun müssen, ist sicherzustellen, dass die beiden verschiedenen Objekte jetzt an der richtigen Stelle im richtigen Raum platziert werden . Also muss der erste Schlüssel wieder hier drüben und der zweite muss in den zweiten Hintergrund. Lass uns irgendwo hier drüben darauf umsteigen. Also als Erstes sollte der erste Klon im ersten Raum sichtbar sein. Der zweite sollte im zweiten Raum in dieser Küche hier sichtbar sein . Das müssen wir also zuerst erreichen. Und wie machen wir das? Wir führen Listen ein. Was also Listenlisten sind , sind quasi Variablen. Deshalb können wir hier Listen zu den Variablen finden. Hier müssen wir eine Variable erstellen und hier haben wir eine Liste erstellt. Also lass uns eine Liste machen. Und wir haben etwas Ähnliches, um eine Variable zu erstellen. Wir können diese Liste vielleicht Objekträume nennen. Dort speichern wir also unsere Starträume für die Objekte. Und wie machen wir das? Ich werde es später zeigen. Okay, für alle Sprites, nein, das brauchen wir nicht für alle Sprites Wir brauchen es nur für den Sprite hier. Objektraum bedeutet also, dass wir für jedes Objekt speichern müssen, in welchem Raum das Objekt beginnen soll Okay, hier haben wir die Liste, die Anzeige der Liste. Sie können das mit dieser Checkbox hier umschalten. Wenn du also nicht möchtest, dass die Liste im Spiel erscheint, deaktiviere einfach dieses Kästchen hier Was haben wir hier? Wir können Artikel hier manuell zu dieser Liste hinzufügen. Also mit diesem Plus hier. Sie können einfach so viele Artikel hinzufügen, wie Sie möchten. Und in jede dieser Zeilen hier kannst du zum Beispiel einfach so etwas wie für eine Variable schreiben . Also einfach wie dieser Text hier oder wie eine Zahl. Okay, wir haben sozusagen eine Liste von Variablen, und diese Liste ist hier drüben, du kannst sie mit diesen Funktionen hier verwenden , mit diesen Blöcken. Also, was kannst du mit einer Liste machen? Sie können der Liste einen weiteren Eintrag hinzufügen? Kann einen Eintrag in der Liste löschen. Sie können die Liste mit Alle löschen löschen und Sie können auch etwas an einer bestimmten Stelle in der Liste, in einem bestimmten Index, einfügen etwas an einer bestimmten Stelle in der Liste, . Vielleicht können Sie es hier am Ende oder irgendwo in der Mitte einfügen , und genau das macht dieser Block hier. Sie können auch ein Element durch einen Eintrag hier in der Liste an einer bestimmten Stelle in einem Index ersetzen . Sie können auch ein bestimmtes Element aus der Liste an einer bestimmten Stelle abrufen . Hier ist der Index, und mit diesem hier erhalten Sie das Element an der Position eins hier in diesem Beispiel, oder sagen wir zwei, und wir können hier etwas eingeben und den Wert überprüfen. Hier können wir verschiedene Listen auswählen. Im Moment haben wir nur eine Liste, also gib diesen Objektraum hier ein. Diese Liste sollte für jedes Objekt enthalten , in welchem Raum dieses Objekt zu Beginn platziert werden soll. Wenn Sie darauf klicken, können Sie an Position zwei bei Index zwei sehen, welche Werte sich innerhalb der Liste an dieser Stelle befinden. Sie auf diesen Block klicken, können Sie sehen, dass sich an Position zwei diese Zeichenfolge befindet. Du kannst es vielleicht auch einfach so machen. Das ist das Erste, das ist das Zweite und das Dritte. Und hier kannst du sehen, wenn du darauf klickst, hast du den zweiten. Wenn du einen für den Index auswählst, bekommst du den ersten, und wenn du drei für den Index auswählst, bekommst du natürlich den dritten und so weiter. Was wir also damit machen können, können wir in dieser Liste speichern, in welchem Raum die einzelnen Objekte beginnen und in welchem Raum sie platziert werden sollen. Lassen Sie uns das tun, und dafür müssen wir die Nachricht erhalten, das Zimmer hat sich geändert. Gehen wir also zu Veranstaltungen, wenn ich Zimmerwechsel erhalte. Dann müssen wir die Sichtbarkeit unseres Sprites hier so einstellen , dass sie spezifischer auf den Klon abgestimmt Deshalb müssen wir natürlich diese Liste hier berücksichtigen natürlich diese Liste hier Also müssen wir zuerst die Einträge in der Liste ändern. Also wird der erste Raum des Schlüssels das Schlafzimmer sein, zweite die Küche und ein drittes Objekt, das wir im Moment nicht haben. Also können wir diese Einträge hier löschen. Okay, wir haben Schlafzimmer für den Schlüssel und Küche für den Apfel, und wie kommen wir hin oder wie suchen wir nach dem richtigen Zimmer? Das ist natürlich ein ob hier. Also wenn sonst, und wir prüfen die Gleichheit, also das hier. Und der erste Operant ist if Objekt, Raum, und hier müssen wir natürlich den Index nehmen Der Index wird also für den Schlüssel und den Apfel unterschiedlich sein. Für den Schlüssel wird es einer sein. Also wird Objekt eins des Objektraums Schlafzimmer sein, und für Apple wird es Objekt zwei des Objektraums sein , das wird Küche sein. Und hier müssen wir natürlich nach dem aktuellen Raum suchen. Und wenn wir das Zimmer wechseln, wird das aktuelle Zimmer in die Küche umgewandelt. Also das müssen wir hier überprüfen. Lassen Sie uns hier ein bisschen Platz dafür schaffen. Oh, ich habe nicht das „ob“, sondern nur das „wenn dann“, also nehmen wir das hier. Lass uns das austauschen und das, was wir nicht mehr brauchen. Also wenn das Objekt im Index des Objektraums dieser Liste hier dem aktuellen Raum entspricht Also für den zweiten Raum wird das die Küche sein. Und für den ersten Raum haben wir, glaube ich, nicht den aktuellen Raum für den ersten Raum festgelegt. Schauen wir uns also Avery an. Und zu Beginn von Avery, als Los geklickt wurde, legen wir hier nicht den aktuellen Raum fest Was wir also tun können, ist in den aktuellen Raum zu gehen. Also gehen wir in meine Blocks, gehen in den Raum und lassen Sie uns zu Beginn ins Schlafzimmer gehen. Also hier fangen wir an, also sollten wir dorthin gehen, ins Schlafzimmer gehen, also das aktuelle Zimmer, wird am Anfang Schlafzimmer sein. Und auf diese Weise haben wir den Schlüssel, wir haben hier die Gleichheit. Also am Anfang wird es das Schlafzimmer sein und dann das zweite Zimmer, es wird die Küche sein. Und wenn das gleich ist, dann müssen wir uns hier zeigen, den Klon zeigen. Wenn nicht, verstecken wir den Klon. Okay, lass uns ein Spiel starten und es ausprobieren. Und hier haben wir immer noch zwei Objekte. Warum ist das so? Klicken wir auf dieses Sprite-Spielobjekt und wir sehen, dass es das Original ist und es auch sichtbar ist Und hier ist das der Schlüssel, der erste Klon. Dies ist der zweite Klon. Also habe ich nicht gearbeitet. Wenn ich ein geändertes Zimmer erhalte, ist diese Überprüfung abgeschlossen. Der Elementindex des Objektraums entspricht dem aktuellen Raum, und wir zeigen an, andernfalls verstecken wir uns Warum funktioniert es nicht? Weil wir hier jedes Mal, wenn wir den Klon erstellen, zeigen wir, dass wir die Show hier loswerden wollen. L Lass es uns nochmal versuchen. Jetzt haben wir diesen Schlüssel hier und das ist das Original-Sprite Und wir haben den Apfel hier, was auch falsch ist Lassen Sie uns also noch einmal überprüfen, ob der Artikelindex Objektraum hat, und hier können wir auch diesen 40-fachen Index loswerden. Das brauchen wir nicht mehr. Beide Objekte befinden sich hier am selben Ort. Aber das ist okay, denn der erste sollte im ersten Raum sein, der zweite im zweiten Raum, also ist das okay. Lassen Sie uns also das erste Problem angehen, dass das ursprüngliche Sprite hier immer noch sichtbar ist , was nicht gut ist Es sollte nicht sichtbar sein , weil wir es hier verstecken. Aber das Problem ist, dass es auch diesen Zimmerwechsel erhält und dann wird es sich zeigen. Das müssen wir hier vermeiden Gehen wir zu Variablen und erstellen wir eine neue Variable, und ich nenne sie, nennen wir sie Original, und das ist nur für dieses Sprite, und das ist, damit sich das ursprüngliche Sprite identifizieren kann Stellen wir es hier am Anfang ein. Das Original ist hier auf eins eingestellt. Und hier, wenn ich als Klon anfange, setzen wir es auf Null. Also wird jeder Klon den Wert Null haben, I ist original und das Original wird den Wert eins haben. Und jetzt können wir hier ein Wenn machen. Also wenn, und dann jetzt nochmal, Qualitätsprüfung, und wir gehen davon aus, dass das Original ist. Und wir suchen hier nur nach Klonen, deshalb setzen wir den Wert auf Null Wenn also sein Original Null ist, was immer der Fall ist, wenn es ein Klon ist, dann können wir das tun Sonst werden wir es nicht tun. Lass uns noch einmal nachschauen und der Schlüssel ist weg. Also das ist jetzt okay, aber im Moment wird hier nichts angezeigt. Ich fange als Klon an. Lassen Sie uns das für den Moment duplizieren. Und leg es hier hin. Also, wenn diese Überprüfung für den Raum positiv ist, dann zeigen wir den Klon, andernfalls verstecken wir den Klon. Lass uns das versuchen und es funktioniert. Also hier haben wir den Klon, den Schlüsselklon, das Original ist versteckt, weil wir es hier verstecken. In diesem Fall wird er hier nicht angezeigt weil wir diesen Scheck auf das Original haben. Und als ich einen Klon gestartet habe, haben wir das auch hier gemacht. Also hier haben wir natürlich eine Duplikation. Es ist schöner, diese Duplikation loszuwerden, indem man einen neuen Block erstellt Hier, lass uns das machen. Blockname wird die eingestellte Sichtbarkeit sein, und dies wird natürlich die Sichtbarkeit festlegen , abhängig von dieser Bedingung hier. Also müssen wir das nur hier in diesen benutzerdefinierten Block für die eingestellte Sichtbarkeit hier verschieben . Und dann nennen wir hier Sichtbarkeit einstellen. In diesem Fall, wenn es nicht das Original ist, dann stellen wir die Sichtbarkeit hier Raumwechsel und auch hier am Anfang ein und machen dasselbe, indem wir diesen Block aufrufen. Also hier haben wir die Sichtbarkeit eingestellt, und jetzt versuchen wir es erneut. Und es funktioniert. Lassen Sie uns zuerst diese Liste hier loswerden. Es ist ein bisschen zu groß hier, also verstecken wir das. Lass uns das auch hier verstecken. Und wir holen zuerst den Schlüssel ab. Mal sehen, ob das funktioniert, es funktioniert. Wir gehen zur Tür. Benutzen Sie den Schlüssel, und hier haben wir auch den Apfel, also das funktioniert jetzt wie erwartet. Jetzt können wir die Sichtbarkeit abhängig von dieser Liste hier ändern . Lassen Sie uns also wieder die Liste der Objekträume anzeigen und sie hier etwas kleiner machen. Wir haben also Schlafzimmer für den ersten Klon und Küche für den zweiten Klon. Und diese dynamische Überprüfung, ob sich der Raum geändert hat, dann legen wir die Sichtbarkeit der Spielobjekte hier indem wir diese Liste hier verwenden, und das funktioniert wie erwartet. 42. 42 Platzieren der Objekte: wir nun die Sichtbarkeit der Objekte korrekt eingestellt haben, Da wir nun die Sichtbarkeit der Objekte korrekt eingestellt haben, ist der Apfel im zweiten Raum sichtbar und der Schlüssel ist im ersten Raum sichtbar. L hier, hier ist der Schlüssel. Ich kann es abholen und dann an der Tür benutzen. Hier haben wir den Apfel. Das ist alles in Ordnung. Aber wie Sie sehen können, ist der Apfel hier nicht an der richtigen Stelle, X und Y des Apfels sind nicht korrekt. Wie korrigieren wir das? Wie beheben wir das mit mehr Listen? Wählen wir hier unser Spielobjekt Sprite und wir erstellen mehr lokale Listen Lokal bedeutet nur für das Sprite, also wähle das, und das erste ist Objekt x. Also eine Zuordnung vom Objekt vom Index zur X-Koordinate und dann natürlich eine zweite Liste für die Y-Koordinate Also Objekt Y für diesen Balken und jetzt haben wir hier zwei Listen. Wir können sie ein bisschen kleiner machen. In jeder Liste benötigen wir natürlich zwei Einträge, weil wir zwei Objekte haben. Der erste Eintrag wird hier die X-Koordinate unseres Schlüssels sein. Lass uns nachschauen, wo das ist. Das sollte hier diese Koordinate sein, 102 und y ist -28 Hier müssen wir -28 eingeben. Für den Apfel müssen wir nachschauen. Hier können wir in die zweite Küche im Hintergrund gehen. Und wir können hier unseren Schlüssel bewegen. Vielleicht wechseln wir hier zuerst zu Apple , damit wir den Apfel haben. Ich. Und platziere ihn irgendwo hier. Also hier können wir sehen, dass y 11 ist und X 127 ist, das geben wir hier ein, 127, und hier ist das Y für den Apfel 11. Jetzt, wo wir unsere Listen hier haben, können wir zum Code zurückkehren. Wir versuchen noch einmal von vorne zu beginnen und zu sehen, ob es der richtige Anfangszustand oder ob Sie etwas vergessen haben, nein, alles ist in Ordnung. Hier haben wir die Koordinate, und wir müssen die Koordinaten hier in unserer definierten Sichtbarkeit hier verwenden . Wenn das Objekt angezeigt werden soll, zum Beispiel ein Schlüssel oder der Apfel , müssen wir zu X und Y gehen. Bewegung, dann zu XY. Wir müssen diese Koordinaten X und Y aus den Listen abrufen , die wir gerade erstellt haben Gehen wir zu Variablen und hier haben wir Objekt des Objektraums, das hier x sein wird, Objekt X, und es ist nicht Objekt eins, sondern es ist der Artikelindex Der Elementindex von Objekt x ist die X-Koordinate. Die Y-Koordinate entspricht dem Artikelindex, von Objekt zu Y. Auch hier nehmen wir die Koordinaten aus unseren beiden Listen, und natürlich ist die Nummer des Eintrags immer dieselbe wie für den Raum, und wir haben die beiden Listen für x und y. Lassen Sie uns überprüfen, ob das funktioniert. Beginnend mit dem Spiel. Und dann den Schlüssel abholen und zur Tür gehen. Und es funktioniert gut. Der Apple ist hier am richtigen Ort , alles funktioniert. Jetzt, wo wir das haben, können wir diese beiden Listen auch hier und auch diese Liste hier verstecken . Wenn wir die Listen brauchen, können wir sie jederzeit wieder einblenden, und wir können sie auch verstecken. Wenn Sie also eine Liste anzeigen möchten, setzen Sie einfach das Häkchen hier in der Liste, und wenn Sie dann vielleicht ein weiteres Objekt hier hinzufügen möchten , müssen Sie hier einen neuen Eintrag in all diesen Listen vornehmen . Im Moment wollen wir den Apfel abholen können, schätze ich. Das ist also unsere neue Herausforderung. 43. 43 Inventarliste: Um den Apfel abzuholen, müssen wir eine weitere Liste erstellen, und diese Liste wird allen Sprites zur Verfügung stehen Lassen Sie uns hier eine Liste für Sprites erstellen, und das wird eine Objektliste sein Y für A-Sprites, weil dann das Objekt Sprite etwas zur Liste hinzufügen kann und auch das Inventar-Sprite auf diese Liste zugreifen kann Jetzt haben wir die Objektliste und sie ist da. Was wird diese Liste enthalten? Sie wird alle Indizes der Objekte enthalten , die sich im Inventar befinden Um einen Gegenstand abzuholen, ist das am Anfang der Schlüssel, wir müssen hier einen Eintrag zur Objektliste hinzufügen Lassen Sie uns die Liste hier in Inventarliste umbenennen. Das ist klar, dass diese Liste für die Objekte im Inventar ist. Okay. Der erste Gegenstand, der abgeholt werden muss , ist der Schlüssel. Wir können zu dem Code gehen, den Schlüssel abholt, und das ist das hier. Wenn der abgeholte Schlüssel gleich eins ist, dann ist er schon abgeholt, also müssen wir hier hin. Wenn die Entfernung zu Avery unter 50 liegt, setzen wir die Schlüsselübergabe auf eins Wir können den Code unverändert lassen, müssen aber zusätzlich einen neuen Eintrag in diese Liste eingeben oder hier einen neuen Eintrag zu dieser Liste hinzufügen Dieser Block hier bei T Two Inventory List ist genau für diesen Zweck. Objekt zur Inventarliste hinzufügen, wird einen neuen Eintrag hinzufügen. Das kannst du schon testen. Wenn du hier klickst, siehst du, dass das Ding wirklich zur Inventarliste hinzugefügt wurde, aber das wollen wir nicht tun. Wir wollen den Index dieses Objekts hier hinzufügen. Fügen Sie den Index zur Inventarliste hinzu, und wir können ihn hier testen. Und wir sehen, dass das Ding auch hier noch in der Liste ist. Was wir also tun müssen, ist natürlich, zu löschen oder die Liste am Anfang zu löschen oder zu löschen. Und das können Sie tun, indem Sie die gesamte Inventarliste löschen. Fangen wir nochmal an. Und Sie sehen, dass die Liste jetzt leer ist. Und wenn wir den Schlüssel in die Hand nehmen, sehen Sie, dass der Index hier auf unserer Unternehmensliste steht. Jetzt können wir in den zweiten Raum gehen und hier können wir auch den Apfel abholen. Aber du siehst, es funktioniert nicht. Und warum ist das so? Weil die Entfernung hier zu klein ist. Also müssen wir das erhöhen. Sagen wir 80 und versuchen wir das. Jetzt können wir es abholen. Also hier ist der Apfel auch in der Liste, aber Sie sehen, dass der Schlüssel nicht in der Liste ist. Und deshalb müssen wir den Code hier ein bisschen modifizieren. Hier haben wir also die definierte Sichtbarkeit, und im zweiten Raum ist der Schlüssel natürlich nicht sichtbar, aber der Schlüssel sollte trotzdem sichtbar sein , wenn er im Inventar ist. Das müssen wir überprüfen. Das ist einfach. Wir übernehmen die Kontrolle und müssen es nur verstecken, und müssen es nur verstecken wenn es nicht im Inventar ist. Wenn wir damals und heute überprüfen müssen , ob die Inventarliste etwas enthält , ist es in diesem Fall natürlich wieder der Index. Wenn die Inventarliste den Index enthält, dann verstecken, das ist nicht korrekt. Wir müssen das Gegenteil testen. Wenn es nicht in der Inventarliste steht, können wir es verstecken. Was wir brauchen, ist ein Knoten, und das ist das hier. Zieh das hierher, nicht, und das muss hierher. Wenn nicht, wenn es nicht der Fall ist , dass die Inventarliste einen Index enthält, dann verstecken Sie sich. Lass es uns versuchen. Starte das Spiel erneut. Heb den Schlüssel auf. Und geh zur Tür, benutze den Schlüssel, und jetzt haben wir den Schlüssel immer noch hier im Inventar sichtbar und auch der Apple ist hier sichtbar. Aber der Apple ist an der gleichen Stelle wie der Schlüssel und das ist ein Problem, und das beheben wir im nächsten Video. 44. 44 Platzieren von Objekten im Inventar: Wir müssen unsere Objekte im Inventar hier unten an den richtigen Positionen platzieren . Im Moment befinden sie sich hier am selben Ort, und deshalb können wir den Schlüssel hier nicht sehen oder nur Teile des Schlüssels. Also müssen sie hier in der Schlange stehen, und das machen wir im Inventar. Also lass uns dorthin gehen. Und was wir hier tun müssen ist, dass jedes Mal, wenn etwas aufgenommen wird aktualisiert werden muss, also müssen die Platzierung und Platzierung der Objekte hier aktualisiert werden, und das machen wir mit einem Ereignis , wenn ich ein neues Event erhalte , und das wird aktualisiert , was machen wir Wir wiederholen und wiederholen, das ist unter Kontrolle. Also wiederholen wir zehnmal Nein, aber wir gehen diese Liste durch und müssen wissen, wie lang die Liste ist. Dafür haben wir hier einen Block, Länge der Inventarliste hier. Das ist schon richtig. Und wir müssen auch die Iterationen hier drinnen zählen. Also brauchen wir eine neue Variable, aber diese Variable kann lokal sein, also erstelle eine Variable nur für den Spot und wir nennen sie im Inventar-Index Und wir setzen diesen Wert auf 120 und zu Beginn der Schleife ändern wir ihn um eins. In inext können wir jetzt die Iterationen dieser Schleife zählen Was müssen wir hier drinnen noch tun? Wir müssen eine Nachricht, einen Broadcast an die Objekte senden , damit sich die Objekte hier oben auf dem Inventar platzieren können , weil das nur die Objekte selbst können Es ist nicht möglich, ein Objekt von außerhalb des Sprites zu platzieren. Sie müssen also eine Nachricht erhalten und sie dann hier platzieren Okay, lassen Sie uns eine neue Nachricht erstellen , senden, Aktionen anzeigen, neue Nachricht, und wir nennen das „Gehe zu x weil hier nur das X wichtig ist. Das Y ist für Sprite hier für jeden Klon gleich. Also muss nur das X anders sein, und das können wir tun, nachdem wir den Index hier geändert haben Und dann können wir das im Schlüssel empfangen. Also, wann immer ich gehe zu x. Ja, wir müssen uns in diese Lage versetzen. Und was ist diese Position? Mit dieser Nachricht können Sie keine Parameter angeben. Also müssen wir hier eine weitere Variable für alle Sprites erstellen und vielleicht Current X in für Inventar und Current X für das Inventar aufrufen Current X für das Inventar Hier müssen wir natürlich, bevor wir eine Nachricht senden, diesen Wert erhöhen Auch am Anfang vor der Schleife müssen wir es natürlich einstellen. Zuerst haben wir es auf zwei gesetzt. Wir können bei Null beginnen und dann schauen, was wir hier ändern müssen, oder wir beginnen vielleicht bei -80, so ähnlich Start bei -80 sollte irgendwo hier drüben sein, und dann werden wir mit jeder Iteration die X-Koordinate erhöhen mit jeder Iteration die Das aktuelle X-Inventar und dann, sagen wir, 40 mal 40, verwenden dieses aktuelle X im Spielobjekt Also hier. Und natürlich, wenn wir etwas abholen, dann müssen wir dieses Refresh If schicken. Also hier fügen wir einfach Broadcast ein. Aktualisiere Ip. Lassen Sie uns zuerst sehen, ob das richtig ist. Lass uns das Spiel nochmal starten. Heb den Schlüssel auf und der Schlüssel ist hier drüben. Lass uns die Tür öffnen, den Schlüssel benutzen, der funktioniert, und dann holen wir den Apfel ab. Jetzt sind wir nicht nah genug dran. Jetzt können wir den Apfel abholen, aber er funktioniert nicht. Strom x wird wohl nicht richtig erhöht , weil der aktuelle X Null ist. Lassen Sie uns hier trotzdem überprüfen, in Ordnung ist, das aktuelle X auf Null zu ändern, denke ich, weil der aktuelle Wert weil der aktuelle Wert Null sein muss, weil wir zwei Elemente haben und -80 plus 40 plus 40 ist Null, also ist die Null okay Aber das Problem ist, dass beide Objekte hier das empfangen und sich am Ende beide auf dieses X einstellen Das ist also das Problem hier, also können wir es nicht jedes Mal machen. Was brauchen wir, um das zu lösen? Wir brauchen eine weitere Variable. Erstellen Sie also eine weitere Variable für alle Sprites, und dieses Mal ist es das aktuelle In-Objekt, es ist der Index des aktuellen In-Objekts, Inventarobjekts, und wir müssen es hier als globale Variable setzen Setzen Sie also aktuelle INF-Objekt auf den Index Also, wie bekommen wir den Index? Wir beziehen ihn natürlich aus der Inventarliste, aber nicht in Punkt eins der Inventarliste, sondern im Index. Also zählen wir diesen INF-Index hoch und setzen dieses aktuelle IN-Objekt den Wert an dieser Stelle hier, und das ist der Index des Spielobjekts. Und hier müssen wir überprüfen, ob wir einfach dorthin müssen oder nicht. Wir müssen also kontrollieren, ob und hier die Gleichheit überprüft wird. Wenn das aktuelle Objekt Index ist, dann gehen wir und andernfalls nicht. Lass uns das versuchen. Das sieht also besser aus. Hier haben wir den Schlüssel, den Apfel. Es ist natürlich nicht an der richtigen Position. Also ich schätze, -80 war nicht richtig. Ich denke, wir müssen es vielleicht auf -120 verschieben. Ja. Das sieht besser aus, aber das Y ist nicht korrekt. Also müssen wir hier nach dem richtigen Y suchen. Ein bisschen nach links wäre gut. Das ist also nicht notwendig. Geh hierher, aber das Y ist korrekt. Wir können diese -160 hier verwenden und sie hier ablegen. Und hier müssen wir das vielleicht bis zehn korrigieren. Lass uns das überprüfen. Also nimm den Schlüssel und klicke auf den Schlüssel. zum ersten Mal auf den Schlüssel klicken, bekommen wir kein Wechselgeld. Und beim zweiten Mal ist es nicht richtig. Also stimmt hier etwas nicht. Schauen wir uns hier unsere Variablen an, unsere Liste. Die Inventarliste enthält zwei Artikel. Das ist alles richtig. Also lass uns diese Schleife noch einmal durchgehen. Das scheint ein Problem zu sein. Wir setzen dieses aktuelle X auf -130, das ist okay, also wiederholen wir es, solange die Liste reicht und beim ersten Mal sollte es nur ein Element in der Liste sein Dann setzen wir das aktuelle Objekt auf das zweite Objekt im Index der Inventarliste Mein Index ist am Anfang Null, und das ist nicht korrekt, weil Artikel Null der Inventarliste nicht existiert, also wäre das hier wohl leer. Aktuell im Objekt ist leer. Das funktioniert nicht, und dann wechseln wir nacheinander, und hier ist das Problem. Die Reihenfolge ist hier falsch, also müssen wir sie zuerst ändern. So, und dann können wir im Objekt den aktuellen Wert einstellen, und dann ändern wir hier das X um 40 und dann machen wir die Übertragung. Lass uns das versuchen. Jetzt funktioniert es und die Position ist auch ganz okay. Ich würde sagen, das ist fast dieselbe Position wie zuvor, bevor wir diesen Loop hier vorstellen. Mal sehen, wie das mit dem Apple funktioniert. Benutze, und jetzt können wir den Apfel abholen und hier funktioniert er nicht. Es ist dieselbe Position. Mal sehen, was hier das Problem sein könnte. Wir gehen die Schleife noch einmal durch. Wir setzen das aktuelle X auf diese Startposition von -130. Dann wiederholen wir das und ändern den Index um eins, das ist jetzt okay, und aktuell im Objekt sollte jetzt okay sein, und dann ändern wir das aktuelle X um 40. Und dann machen wir die Übertragung. wir dann das zweite Mal den Apple abholen, wird dieses Ereignis wieder hier gesendet und empfangen. Dann setzen wir wieder Current X Inf Two auf -130 Und hier ist das Problem. Wir setzen den Index nicht wieder auf Null. Das hier ist also nicht korrekt. Lass uns das hier rausziehen und hier drüben hinstellen. Also jedes Mal, wenn wir die Nachricht erhalten, müssen wir diesen Inf-Index auf Null zurücksetzen, und dann wird er hier auf eins geändert, und dann sollte es funktionieren Also lass uns das nochmal versuchen. Nun, Apple, und dieses Mal hat es sehr gut funktioniert. Erstens der Schlüssel und zweitens Apple und das in einer sehr schönen Entfernung. Das ist okay. Und hier können wir auch mehr Gegenstände sammeln. Wenn wir hier einen dritten Artikel hätten, wird dieser hier angezeigt. Das ist sehr, und wir können dem Spiel beliebige Objekte hinzufügen , sie können abgeholt und in dieser Inventarliste angezeigt werden. 45. 45 Fixieren von Objektbeschreibungen: Jetzt, wo wir einen universellen Mechanismus zum Aufnehmen von Objekten haben , brauchen wir auch einen universellen Mechanismus für die Beschreibung der Objekte. Wenn wir das Spiel starten, haben wir diese Beschreibung des Schlüssels. Es ist ein Schlüssel, und wenn ich ihn abhole, kann ich ihn hier an der Tür so benutzen. Aber für den Apple haben wir hier keine solche Beschreibung. Wenn wir den Mauszeiger hier über den Apfel bewegen, sehen wir keine Beschreibung Für die Beschreibung benötigen wir natürlich oder für beide Beschreibungen oder für beide Beschreibungen eine weitere Liste Gehen wir zu Variablen und machen eine Liste. Hier machen wir eine Liste, für alle Sprites, nein, nur für diesen Spirit Weil die Beschreibungen nur für die Objekte selbst benötigt werden Wir nennen es also nur Beschreibungen , weil es sich um eine lokalistische Beschreibung handelt Wir müssen hier nichts weiter angeben. Eine Beschreibung ist also ausreichend, Beschreibung für das Sprite natürlich Wie auch immer, das ist nur für den Sprite. Und wenn wir hier nachschauen, haben wir einen Doppelpunkt in der Beschreibung des Spielobjekts, also das sollte okay sein Wir fügen hier zwei Einträge hinzu. Der erste ist ein Schlüssel und der zweite ist es ein Apfel. Natürlich können Sie hier etwas anderes hinzufügen, einen aussagekräftigeren Text, aber ich möchte mich hier kurz fassen Erstens ist es natürlich ein Schlüssel für den Schlüssel und das zweite ist für den Apfel, und wir unterscheiden diese beiden hier durch den Index. Eins ist ein Index, eins ist immer der Schlüssel und Index zwei ist immer der Apfel. Okay, das müssen wir also nicht anzeigen. Wir können dies und auch die Inventarliste ausblenden, wir müssen das nicht anzeigen und auch die anderen und auch die anderen, die wir ausblenden können , damit wir hier den kompletten Bildschirm sehen können. Was wir mit der Liste machen, sollte klar sein. Stattdessen ist es hier ein Schlüssel, wir ziehen einfach die Beschreibung aus der Liste aus der neuen Listenbeschreibung heraus. Hier haben wir also den ersten Eintrag mit der Beschreibung, und in unserem Fall ist es nicht der erste Eintrag, sondern der Artikelindex der Beschreibung. Und wir ersetzen hier einfach diesen festen Text, es ist ein Schlüssel, durch diesen. Lass uns überprüfen, ob das im Spiel funktioniert. Es ist ein Schlüssel, immer noch okay. Aber um sicherzugehen, müssen wir überprüfen, ob es auch für den Apfel funktioniert . Und das ist es nicht. Warum nicht? Weil wir hier die Bedingung haben , dass die Entfernung nach Avery mindestens 50 oder unter 50 liegen sollte Also können wir das hier erhöhen und schauen, ob das funktioniert und jetzt funktioniert es 50 ist zu nah A ist vielleicht irgendwo hier drüben und 50 ist kleiner als das, es ist schwierig, diese Entfernung zu erreichen. Wir setzen es genauso wie hier auf 80 und auf diese Weise können wir anzeigen, dass es sich hier um einen Apfel handelt, aber wir können auch sehen, dass wir, sobald wir ihn in das Inventar aufgenommen haben, die Beschreibungen nicht mehr sehen können. Das müssen wir auch korrigieren , damit du, nachdem du es in das Inventar aufgenommen hast, immer noch die Beschreibung sehen kannst, das wird nett sein, und genau das machen wir im nächsten Video. 46. 46 Anzeigen der Beschreibung im Inventar: Wir haben immer noch das Problem, dass die Objektbeschreibung nicht sichtbar ist , wenn wir den Mauszeiger über das Objekt im Inventar Wenn ich den Schlüssel hier abhole, bewege ich den Mauszeiger über den Schlüssel im Inventar Es wird nichts angezeigt, und das sollte möglich sein Lass uns das beheben. Es ist ziemlich einfach. Wir müssen nur diesen Teil von for evepe hier im Schlüsselobjekt oder im Spielobjekt neu anordnen for evepe hier im Schlüsselobjekt oder im Spielobjekt Damit das funktioniert, müssen wir auch berücksichtigen, ob der Schlüssel oder das Objekt, in diesem Fall, abgeholt wurde Wir müssen nur dann an nichts denken , wenn wir weit vom Objekt entfernt sind und das Objekt auch nicht im Inventar ist. Wie machen wir das? Wir werden das hier auseinandernehmen. Und wenn dann, werden wir noch eins davon einfügen , so wie das hier. Wir haben hier zwei wenn-Dann-Blöcke verschachtelt. Der erste, der äußere, wird nur einen sich berührenden Mauszeiger enthalten Alles, was sich darin befindet, wird also nur ausgeführt, wenn sich der Mauszeiger berührt , und das ist natürlich auch die Voraussetzung für die Anzeige der Beschreibung hier. Wenn sich der Mauszeiger nicht berührt, dann denken wir nichts. Die zweite Bedingung muss ein bisschen anders sein als die vorherige, wir hatten dieses Ende hier, und jetzt brauchen wir eine weitere logische Operation. Das ist der OR-Block hier. Eine dieser beiden Bedingungen muss erfüllt sein. Eine davon ist natürlich die Entfernung zu Avery, unter 80 liegen muss Oder das Objekt sollte im Inventar sein. Wenn das Objekt im Inventar ist, dann der Schlüssel abgeholt, was nicht der beste Name ist, weil es nicht nur der Schlüssel ist, es sollte etwas Allgemeineres sein weil auch der Apfel im Inventar sein könnte, aber darum können wir uns später kümmern. Zuerst müssen wir überprüfen, ob der abgeholte Schlüssel gleich eins ist, und aus diesem Grund können wir ihn duplizieren und hier ablegen Wenn wir nur diese Bedingung hier berücksichtigen, ist entweder der abgeholte Schlüssel gleich eins, das Objekt ist also im Inventar, oder die Entfernung zu Avery liegt Das können wir überprüfen, wenn wir sicher sind , dass der Mauszeiger das Objekt berührt Wenn der Mauszeiger das Objekt berührt und diese Bedingung auch hier zutrifft, dann können wir uns die Beschreibung vorstellen und entweder die gedrückte Taste ist eins oder die Entfernung zu Avery liegt unter 80. Auf diese Weise sollte es funktionieren. Lass uns das überprüfen. Hier funktioniert es und jetzt haben wir es im Inventar. Lass uns hier schweben. Es ist ein Schlüssel Es funktioniert auch hier im Inventar. Dann schauen wir mal, ob es auch mit dem Apple funktioniert. Es sollte keinen Unterschied geben. Es ist ein Apfel. Das ist okay. Und wenn wir hier im Inventar schweben, ist es auch ein Apfel. Sehr nett Und genau das wollten wir erreichen , damit wir überall diese Beschreibung bekommen, außer wenn das Objekt nicht abgeholt wird und Avery zu weit davon entfernt ist Auf diese Weise wird es nicht so einfach, und Avery muss sich bewegen, um die Umgebung hier zu untersuchen , sodass der Spieler wirklich herumläuft, um alle Objekte zu sehen , die hier auf diesem Bildschirm verfügbar sind 47. 47 Reparieren der Spiellogik: S. Jetzt müssen wir unsere Spiellogik an die Inventarliste anpassen. Im Moment besteht das Problem darin, dass wir das erste Problem lösen können oder der Spieler kann das erste Problem lösen, indem hier auf „Verwenden“ klickt, wenn das Sprite angeklickt wird, die Benutzen-Taste angeklickt wird, dann senden wir „Ue click“, und das wird an dieser Stelle hier im Avery-Sprite empfangen im Avery-Sprite Dann wird geprüft , ob die Tür berührt wird, und hier wird entschieden ob der Spieler in den nächsten Raum, in diesem Fall in die Küche, gehen oder mit diesem Satz hier antworten kann in diesem Fall in die Küche, . Ich kann diesen Schlüssel hier nicht verwenden. Das ist sehr spezifisch für den Schlüssel und das erste Rätsel, und wir müssen das an die Inventarliste anpassen , weil wir nicht nur den Schlüssel haben, sondern wir haben auch den Apfel dann im zweiten Raum, und der Apfel ist natürlich ein bisschen anders. Wir können den Apfel benutzen, aber wir müssen definieren, was das bedeutet, den Apfel zu benutzen, und wir können den Schlüssel nicht verwenden, um den zweiten Raum hier zu lösen. Auf diese Weise müssen wir die Logik in Avery anpassen, sodass wir beispielsweise wissen, welcher Artikel hier angeklickt wurde und welcher Artikel verwendet werden sollte Aber zuerst müssen wir hier einen Pfeil korrigieren, und diesen finden Sie hier im Spielobjekt Als dieser Sprite geklickt hat. Wenn es im Inventar ist, wenn der abgeholte Schlüssel gleich eins Als Erstes müssen wir vielleicht ändern, dass dieser Schlüssel nicht der richtige Name für diese Variable ist nicht der richtige Name für , weil es nicht nur der Schlüssel ist, sondern es kann natürlich auch der Apfel sein oder ein anderes Objekt, das wir später hinzufügen Diese Variable muss geändert werden. Auch das ist ein weiteres Problem. Dies ist hier eine globale Variable. Wir gehen zu Variablen über und überprüfen das hier. Wir können sehen, dass es sich nicht um eine lokale Variable handelt. Es ist eine globale Variable, und auf diese Weise können wir sie nicht so verwenden. Da es sich bei Pickup um eine lokale Variable für jedes Spielobjekt handeln muss , muss es sich um einen separaten Wert handeln. So wie es hier verwendet wird, ist das nicht wahr. Eigentlich müssen wir das hier ein bisschen ändern auch weil es ein Wenn dann ist und das auch ein Wenn dann ist. Das heißt, wenn der Schlüssel im Inventar ist, senden wir Display-Aktionen, das ist okay. Wenn aber auch Avery einen Abstand hat , der kleiner als 82 ist, der Schlüssel zum Beispiel im Inventar, dann wird das auch ausgeführt, und das ist falsch Ich zeige dir, was ich meine. Wir starten das Spiel und passen das auf, sagen wir, 120 an, sodass die Entfernung hier größer sein kann, und ich nehme zuerst den Schlüssel. Wenn ich jetzt mit Avery zu dem Schlüssel gehe, der sich direkt über dem Schlüssel befindet, und ich klicke auf den Schlüssel, dann sehen wir, dass ein weiterer Eintrag in der Inventarliste hinzugefügt wurde Also dieser Code hier wird ausgeführt, und das ist falsch, weil wir diesen Code nicht ausführen können wenn der Schlüssel oder das Objekt hier bereits im Inventar ist. Das heißt also, dass wir das hier ändern müssen . Bis und wenn dann sonst. Ziehen wir das hier raus. Wenn das Aufnehmen gleich eins ist, dann Broadcast-Display-Aktionen, die wir so lassen können, wie es ist, aber wir müssen das Steuerelement hier durch ein Wenn dann anderes ersetzen das Steuerelement hier durch ein Wenn dann anderes Wir können das einfach von hier nach hier ziehen. Das kommt dann zum Koffer und das können wir hier hinstellen. Wir können es loswerden Aber jetzt haben wir dieses Event verloren, aber das ist kein Problem. Ich kann das hier wieder hinzufügen , als diese Seite angeklickt wurde. Wenn die aufgerufene Variablentaste gleich eins ist, dann zeigen wir die Aktion an, das ist okay Wenn nicht, wenn das Objekt nicht in der Inventarliste steht, können wir dies zur Entfernungsprüfung machen, und wenn die Entfernungsprüfung erfüllt ist, können wir es zur Inventarliste hinzufügen Lass uns das versuchen. Wenn es das behebt, holen wir den Schlüssel hier ab. Wir können es schaffen, ohne dass das ein weiteres Mal zu den Eventualisten hinzukommt Das wird hier also nicht ausgeführt. Immer wird nur das ausgeführt und nicht diese beiden. Vorher war es also das Problem , dass dies und das ausgeführt wurde. Jetzt nur noch einer von diesen. Okay. Das haben wir behoben und wir können diese Entfernung auf etwas Kleineres zurücksetzen , also 80, ich denke, das war okay, und die 120 war nur, um klarzustellen , dass das hier ein Pfeil war. Das ist behoben. Nun, was wir tun müssen, ist nur unsere Spiellogik, wie ich dir bereits gesagt habe, das muss sich ändern. Das muss eine lokale Variable sein. Andernfalls werden die verschiedenen Spielobjekte alle abgeholt, wenn eines von ihnen abgeholt wird. Im Moment ist das eine globale Variable, und wir müssen sie durch eine lokale Variable ersetzen. Ziehen wir das also hierher und ersetzen wir es durch eine andere Variable. Wir machen ein neues. Diesmal sagen wir nur für diese Braut, ist wichtig, damit eine lokale Variable handelt und für jeden Klon, für jedes Spielobjekt, das hier ein separater Wert sein wird. Nennen wir es einfach abgeholt, nicht schlüsselabgeholt, sondern abgeholt, und das bedeutet , dass es wirklich im Inventar ist. Schlüssel abgeholt, wir können ihn loswerden und abgeholt wir können ihn hier ablegen. Hier hast du auch ein Spielobjekt. Dies ist eine lokale Variable, im Moment gleich Null ist Jetzt müssen wir alle Vorkommen des abgeholten Schlüssels durch den abgeholten Schlüssel ersetzen abgeholten Schlüssels durch den abgeholten Hier, hier haben wir einen. Nun, hier können wir es nicht so einstellen. Wir müssen aus diesem Drop-down-Menü auswählen. Irgendwo anders hier, das funktioniert oder sollte zumindest funktionieren, also kein Schlüssel mehr hier in diesem Sprite abgeholt, aber da es eine globale Variable war, wird es auch hier in Avery überprüft Hier, Schlüssel abgeholt. Das kann natürlich nicht die aufgenommene lokale Variable sein da du hier nicht von außerhalb des Spielobjekts darauf zugreifen kannst. Das müssen wir durch etwas anderes ersetzen. Und hier können wir diesen Block nehmen. Die Inventarliste enthält etwas. Dieses Ding muss natürlich die ID des Spielobjektschlüssels sein, und das ist einer. Wenn Inventorist einen enthält, den Index des wichtigsten Spielobjekts, dann brauchen wir diese Gleichheit hier nicht Wir brauchen das nur hier. Wenn das Eventualis den Schlüssel enthält, können wir sagen, dass die Tür verschlossen ist Ich muss zugesperrt haben. Nein, es ist anders. Es ist nicht hier. Wenn es keins enthält, ist die Tür verschlossen. Wir brauchen hier ein Notizbuch. Das ist hier, dieser Block, und wir ziehen das hierher ins Nicht, und dann ziehen wir das nicht zurück ins Wenn. Falls nicht, enthält Inventoralis eins, eins ist der Index, sozusagen die ID des Schlüsselobjekts, dann sollte dieser Satz 3 Sekunden lang gesprochen werden Andernfalls wird das Gehen auf Null gesetzt , nur wenn der Schlüssel einmal abgeholt wurde Ich bin mir nicht sicher, ob es noch andere gibt. Ich denke, es muss einen geben. Lass uns die Verwendung überprüfen. Nein, das ist nicht der Fall und wird hier auch nicht verwendet. Ich denke also, wir haben wirklich jedes Vorkommen dieser Variablen ersetzt. Wir können also versuchen, diese Variable zu löschen. Also klicken Sie mit der rechten Maustaste hier. der Schlüssel abgeholt wurde, löschen, und es wird keine Warnung angezeigt. Das bedeutet, dass wir wahrscheinlich alle Fälle gelöscht haben , in denen der Schlüssel abgeholt wurde Versuchen wir erneut, das erste Rätsel zu lösen. Es sollte funktionieren. Den Schlüssel aufzuheben funktioniert, wenn man ihn benutzt. Ich kann diesen Schlüssel hier nicht verwenden, ist richtig. Dann gehen wir zur Tür. Benutze den Schlüssel an der Tür, das funktioniert auch. Jetzt haben wir den Apfel, wir können den Apfel abholen. Lass uns versuchen, den Apple zu benutzen, und dann sagt Avery, ich kann den Schlüssel hier nicht benutzen Das müssen wir natürlich anpassen. Im ersten Schritt haben wir diese vom Schlüssel aufgenommene Variable hier durch diese lokale Variable ersetzt . Dies war notwendig, damit wir die globale Variable nicht verwenden, da wir benötigen hier für jeden dieser Klone separate Werte für jedes der Spielobjekte Oh hier, wir können das loswerden. Dies war das erste Refactoring oder die erste Korrektur der Spielelogik Aber natürlich müssen wir mehr tun, denn wenn Sie den Schlüssel verwenden, sollte das zu einem anderen Ergebnis führen, als wenn Sie hier den Apfel verwenden Natürlich müssen wir definieren, was hier das Rätsel ist. Was muss der Spieler hier tun oder was muss er hier haben, um in den nächsten Raum zu gehen? Außerdem gibt es hier ein kleines Problem . Wenn wir das Spiel erneut starten, verlassen wir diesen Raum hier. Und wir betreten den nächsten Raum hier auf derselben Seite, was keinen Sinn ergibt. Also sollten wir den Raum hier betreten, also müssen wir Avery von hier nach hier bewegen , sodass sie die Küche von der linken Seite betritt Und das wird im nächsten Video reichen. 48. 48 Platzieren von Avery auf der richtigen Seite: Lassen Sie uns Avery auf der richtigen Seite des Raums des nächsten Raums eintreten der richtigen Seite des Raums des nächsten Raums Im Moment ist es die falsche Seite. Denn wenn wir hier den Schlüssel abholen und das Zimmer durch die Tür verlassen, landen wir auf der rechten Seite, oder zumindest bewegt sich Avery nicht Deshalb bleibt sie hier auf der rechten Seite, aber sie muss auf die linke Seite gehen Wie können wir das ändern? Das ist ziemlich einfach. Hier haben wir unsere Definition Go to Room, also unser benutzerdefinierter Block Go to Room, und das benötigt einen weiteren Parameter. Klicken Sie hier mit der rechten Maustaste auf diese Definition, wählen Sie sie aus und hier können wir dann eine Eingabe hinzufügen. Fügen wir eine Eingabe hinzu und nennen sie Seite. Und das wird eine Zahl oder ein Text sein, und wir können sagen, sagen wir, es ist ein Text, also können wir darauf klicken, und jetzt haben wir einen weiteren Parameter. Die zweite ist die Seite hier, und das können wir hier in unserer Funktion in unserem Block verwenden. Um also nach der Seite zu suchen, haben wir entweder links oder rechts, keine anderen Möglichkeiten. Wir kontrollieren, ob dann anders, und wir müssen prüfen, ob es sich bei der Seite um den Text links oder rechts handelt. Genauer gesagt müssen wir nur prüfen, ob die Seite links ist, und andernfalls ist sie richtig. Also überprüfen wir die Seite. Sie können diesen Parameter hierher ziehen, Seite dorthin ziehen, wenn ich die Seite zur Seite stelle, und dann suchen wir nach dem Text links hier, und andernfalls ist er rechts oder etwas anderes als links, und dann gehen wir hier an eine andere Stelle. Wenn die Seite links ist, dann machen wir mit der Bewegung weiter und wählen Satz x zwei, und hier müssen wir nach der richtigen Koordinate suchen, dem richtigen Wert für x, und im anderen Fall müssen wir einen anderen wählen , sodass auf der linken Seite alle irgendwo im Minus stehen, ich würde sagen, vielleicht wirklich minus dieses, und im anderen Fall, rechts Im Nebenfall können wir es so belassen. Das muss hier irgendwo hin, ich denke, das wäre okay, kurz vor der Übertragung hier. Wenn die linke Seite ist, dann setze Avery in -197 nach links, und wenn nicht, dann lege sie nach rechts , wenn x gleich Jetzt müssen wir es mit dem rechten Parameter aufrufen , hier mit dem rechten zweiten Parameter, und das ist hier, gehen wir zur Raumküche, und hier müssen wir links eingeben Damit wir das zweite Zimmer hier haben können, muss die Küche auf der rechten Seite bleiben. Wir können dann in den Raum gehen, welcher Raum auch immer das sein mag, und dann ist auf der rechten Seite der Ausgang, und dann sollte auch auf der linken Seite vielleicht der nächste Raum sein. Aber lass uns sehen. Hier in diesem Block, bei diesem Aufruf dieses Blocks, können wir wählen, auf welcher Seite Avery den Raum betreten soll Lass uns versuchen, ob das funktioniert. Starte das Spiel, nimm den Schlüssel. Das wissen wir bereits. Wenn ich jetzt den Schlüssel benutze, sollte Avery nach links gehen, und das ist richtig Alles funktioniert. Wir können auch versuchen, hier Abhilfe zu schaffen, nur um den anderen Fall zu testen. Dann sollte es genauso sein wie zuvor, und Avery sollte also mehr oder weniger auf der gleichen X-Position bleiben Ja. Ja, das funktioniert auch. Avery wäre also auf dieser Seite, aber schaut sie nicht nach rechts in diesem Fall schaut sie nicht nach rechts , sondern nach links, aber ich denke, das ist okay Das müssen wir nicht ändern. Lassen Sie uns hier wieder links setzen, also arbeiten beide Seiten und Avery ist auf der rechten Seite, was hier die linke Seite ist Okay, lass uns im nächsten Video weitermachen. 49. 49 Hinzufügen des Satchels: Um die Spiellogik hier weiterzuentwickeln und auch um unser zweites Rätsel Wir müssen ein weiteres Objekt hinzufügen, ein weiteres Spielobjekt, das zur Lösung des zweiten Rätsels verwendet wird . Damit Avery das Haus verlassen kann, um zur Schule , braucht sie den Apfel natürlich, um in der Schule etwas zu essen zu haben, und sie braucht auch ihren Schulranzen Wir müssen den Schulranzen hinzufügen, und dafür müssen wir hier ein neues Kostüm hinzufügen Gehen wir zum Spielobjekt, den Kostümen. Wir haben den Schlüssel als ersten, den Apfel als zweiten, und der nächste wird die Tasche sein, aber das müssen wir selbst malen Also lass uns das machen. Ich möchte es hier ziemlich einfach halten. Lassen Sie uns hier Rechtecke wählen, und vielleicht können wir als Füllung etwas wie Braun, vielleicht so, und ein bisschen dunkler, so etwas Und wir machen hier unser erstes Rechteck , so etwas, und dann machen wir hier ein zweites Rechteck, und dann wählen wir hier das Auswahlwerkzeug, um es ein wenig anzupassen Das war nicht so nett. Okay. Also der Umriss oder der Rand ist ein bisschen zu dick. Machen wir hier zwei Pixel draus. Etwas wie das hier. Ja, das sieht okay aus. Und dann vielleicht etwas , um die Tasche hier zu schließen. Und wieder zwei Rechtecke, dieses und dieses. Das müssen wir nach hinten schicken. Das machen wir rückgängig. Das müssen wir an die Front schicken. Lass uns zuerst diesen auswählen. Schick es nach vorne. Jetzt ist es okay und die Füllung sollte so etwas wie Grau sein. Nehmen wir an, die Sättigung ist Null und das ist ein bisschen zu hell. Also lass es uns dunkler machen, so etwas in der Art. Lassen Sie uns auch für das andere Grau wählen. Oder verwenden wir hier den Farbwähler. Also die Pipette hier, wähle die gleiche Farbe. Jetzt können wir es ein wenig anpassen. Platziere es irgendwo in der Mitte und auch das irgendwo in der Mitte. Okay. Ich denke, das sollte okay sein. Natürlich kannst du es immer schöner aussehen lassen, aber für mich ist das okay, also sollte jeder hier zumindest eine Aktentasche oder einen Schulranzen sehen hier zumindest eine Aktentasche oder einen Schulranzen Das ist es, was es sein soll. Lass uns jetzt zum Code wechseln. Und was müssen wir hier hinzufügen , um unser neues Spielobjekt, die Tasche, hinzuzufügen Wir müssen unsere Listen sichtbar machen. Also Beschreibung, wir brauchen eine neue Beschreibung für die Tasche Wir benötigen auch die Objektraumliste weil wir damit sagen wollen , dass im zweiten Raum, dem Küchenraum, der Schulranzen sichtbar sein wird und sollte Lassen Sie uns also dieses aufgegriffene Display hier loswerden. Und wir brauchen auch Objekt X und Objekt Y. Okay, machen wir zuerst einen neuen Eintrag, fügen hier im Object Object Room des Spiels einen neuen Eintrag hinzu. Die dritte ist also die Tasche, und die sollte auch in der Küche sein Also müssen wir hier die Küche betreten. Und der Index des dritten Spielobjekts der Tasche wird drei sein Auch hier, die Beschreibung des Spielobjekts in dieser Liste, müssen wir einen weiteren Eintrag hinzufügen, und wir sagen, es ist deine Tasche, und das ist genug Auch hier müssen wir es irgendwo in der Küche platzieren. Also fügen wir hier und auch hier einen weiteren Eintrag hinzu. Und jetzt müssen wir hier nach der richtigen Position für den Schulranzen suchen hier nach der richtigen Position für den Schulranzen Okay, also was wir tun können, ist dieses Spielobjekt hier sichtbar zu machen Also klicken Sie einfach hier auf „Auf diesem I anzeigen“, und jetzt haben wir es sichtbar und können es an die richtige Stelle verschieben. Also können wir das hierher verschieben. Wir können Avery hier auch etwas zur Seite stellen. Und wir sehen, dass es hier ein bisschen zu klein ist. Also müssen wir zum Kostüm zurückkehren und das neu anpassen. Aber lassen Sie uns die Koordinaten hier nehmen. Wir haben also 219 für x. Geben Sie das hier ein. Und für y haben wir -70 und geben das hier in das Spielobjekt y ein. Ich habe hier fälschlicherweise einen vierten Eintrag erstellt Kein Problem, lösche das. Okay? Nun haben wir alle Listen um unseren Schulranzen, den Spielobjektraum, die Beschreibung des Spielobjekts, Objekt X und Objekt Y erweitert Spielobjektraum, die Beschreibung des Spielobjekts, . Okay, jetzt müssen wir überprüfen, ob wir hier schon genug Klone erstellen, und hier können wir das hier für zwei wiederholen Wir können hier natürlich drei platzieren, und das ist okay, aber um flexibler zu sein wir also das nächste Mal ein Objekt hinzufügen, müssen wir hier nichts ändern. Wir können auch die Länge von und dann eine Liste verwenden, und ich würde sagen, die Länge des Objektraums, weil wir das hier natürlich hinzufügen müssen. Wir müssen den Eintrag immer hier im Objektraum hinzufügen , damit das Objekt immer dann erscheint wenn das Objekt betreten wird, also nehmen wir die Länge davon. Hier wählen wir den Objektraum. Und das werden jetzt automatisch drei sein. Jede Liste hat also bereits drei Einträge. Es ist also auch möglich, die Beschreibung von Spielobjekten oder einen von diesen zu verwenden, aber nehmen wir einfach diese Liste hier und die Länge dieser Liste, um die Klone zu erstellen Okay, jetzt sollten also drei Klone erstellt werden, und wir können all diese Listen hier abhaken , sodass wir unseren Spielbildschirm wieder hier sehen können, und lassen Sie uns ein Spiel erneut starten Und hier können wir den Schulranzen natürlich nicht sehen. Wir müssen in den nächsten Raum gehen. Also nehmen wir den Schlüssel und benutzen ihn, und hier können wir sehen, dass der Apfel da ist, und auch die Tasche ist da etwas zu klein, wie ich schon sagte, also müssen wir sie ein bisschen vergrößern Das ist eine sehr kleine Tasche, daher denke ich nicht, dass sie ausreichend ist, also passen wir die Größe ein Aber schauen wir mal, ob wir es abholen können und es funktioniert, und hier können Sie auch sehen, dass die Reihenfolge dynamisch ist, also können wir den Apfel aufheben und der Apfel wird dann neben der Tasche sein Wenn wir es andersherum machen, können wir das Spiel neu starten Und mach es schnell wieder. Und hier können wir auch zuerst den Apfel und dann die Tasche abholen . Hier haben Sie also die richtige Reihenfolge , in der Sie die Objekte aufgenommen haben, und das wird dynamisch sein Okay, lass uns die Tasche ein bisschen größer machen. Also gehen wir zu Kostümen. Das Schulranzenkostüm wird ein bisschen verkleinert, und dann wählen wir alles aus Ziehen Sie also einfach dieses Rechteck hierher, und Sie haben alle, all diese Unterformen hier ausgewählt all diese Unterformen hier Und dann können wir es einfach ein bisschen vergrößern und es wieder in die Mitte stellen, vielleicht ein bisschen mehr. So. Lass es uns testen. Ja, das ist okay. Ich denke, das ist groß genug. Vielleicht wäre ein bisschen größer nett. Aber ich denke, das ist okay, denn wenn wir es hier größer machen, und dann müssen wir es auch hier machen, also hat es die gleiche Größe. Andernfalls müssen wir die Größe ändern, wenn es aufgenommen wird, und ich denke, das ist die Mühe hier nicht wert Also lass es einfach so wie es ist. Also das ist die Größe und der Apfel hat dann auch die richtige Größe. Jetzt haben wir das dritte Objekt, und theoretisch kann der Spieler dieses Rätsel lösen. Er oder sie muss nur den Apfel und die Tasche aufheben, und dann kann Avery den Raum hier auf der rechten Seite verlassen Natürlich müssen wir im Inventar nachschauen, ob die Tasche und der Apfel im Inventar sind , und dann kann sie gehen Und wenn nicht, kann sie diesen Küchenraum nicht verlassen. 50. 50 Platzieren der Verwendungstasche: In diesem Video geht es darum, Objekte in der Inventarliste in diesem Bereich auszuwählen der Inventarliste in diesem Bereich , sodass wir diese Objekte anschließend mit Hilfe dieses Sprites hier verwenden können , mit Hilfe des Use-Sprites Wie ist es im Moment, wenn wir all diese Listen hier loswerden, sie alle verstecken und den Schlüssel in die Hand nehmen Im nächsten Raum haben wir alle Gegenstände. Jetzt erst der Schlüssel, dann der Apfel, dann die Tasche hier, und alles funktioniert mit der Beschreibung, aber wenn wir hier zum Beispiel auf den Schlüssel klicken oder wenn du auf den Apfel klickst, oder wenn du auf den Schulranzen klickst, gibt es keinen Unterschied Und wenn ich jetzt zum Beispiel auf den Schulranzen klicke und dann benutze, dann sagt Avery, ich kann den Schlüssel hier nicht benutzen Das ist natürlich falsch, weil wir nicht wissen welches Objekt hier angeklickt wird, bevor auf Verwenden geklickt wird Außerdem ist dir aufgefallen, dass, wenn ich auf den Apfel oder den Schulranzen klicke, diese hier verwendete Braut nicht an diese Stelle hier verschoben wird, sondern sie sollte irgendwo hier drüben für die Tasche sein, oder wenn ich auf den Apfel klicke, dann sollte er irgendwo hier drüben über dem Apfel sein, aber er ist immer an Und das wollen wir zuerst korrigieren. Also dieser Aktionsknopf hier, dieser Brite muss sich zu dem Objekt bewegen, auf das zuvor geklickt wurde oder das hier im Inventar ausgewählt wurde . Also lass uns das machen Also gehen wir zum Spielobjekt und wenn diese Braut angeklickt wird und wenn sie schon hier abgeholt wurde, machen wir eine Übertragung von Display-Aktionen und diese Übertragung wird hier empfangen. Wenn ich also Display-Aktionen erhalte, dann wird dieser Button hier, dieser Use-Button, dieser Action-Button einfach angezeigt Und hier muss auch noch etwas anderes passieren. Wir müssen das verschieben oder zumindest die X-Koordinate hier ändern damit sich diese Schaltfläche direkt über dem Inventargegenstand befindet , der zuvor ausgewählt wurde. Okay, wie machen wir das? Dafür brauchen wir eine weitere Variable. Und diese Variable enthält den Index des Objekts , auf das geklickt wurde Also für alle Sprites ist das hier notwendig Und wir können es als im Objekt ausgewählt bezeichnen, also als ausgewähltes Inventarobjekt Und jedes Mal, wenn ein Objekt in der Inventarliste angeklickt wird, setzen wir es auf diesen Index Gehen wir also zu der Stelle, an der dieses Spielobjekt angeklickt wird und sich in der Inventarliste befindet Das ist hier, wo wir die Übertragung machen. Und hier müssen wir auch unsere neue Variable setzen. Stellen Sie hier also das ausgewählte If-Objekt ein, und dieses muss auf den Index gesetzt werden. Index ist, denken Sie daran, Index ist die ID dieses Spielobjekts. Also für den Schlüssel wird es eins sein, für den Apple werden es zwei sein und für den Stil sind es drei. Nun, da wir diese Variable gesetzt haben, können wir sie hier verwenden, um die X-Koordinate festzulegen. Das Einstellen der X-Koordinate ist dieser Block, Setzen von x zwei, und das machen wir, bevor wir es zeigen. Andernfalls könnten wir eine Bewegung sehen und das wollen wir nicht. Bevor wir es zeigen, stellen wir die richtige X-Position ein. Im Moment ist dies -75, und wir müssen dieser Koordinate hier zusätzlichen Platz oder zusätzlichen X-Raum hinzufügen dieser Koordinate hier zusätzlichen Platz oder zusätzlichen X-Raum hinzufügen , sodass sich die Aktionsschaltfläche mit einem ausgewählten Objekt bewegt Es muss einen Offset geben und dann wird etwas hinzugefügt Wir gehen zu den Operatoren und dann müssen wir etwas hinzufügen. Gehen wir zuerst von -75 aus. Wir müssen das vielleicht später korrigieren. Setze das hier ein, setze x zwei -75 plus, und dann müssen wir natürlich irgendwie das gewählte Objekt berücksichtigen Aber nicht direkt, wir brauchen das hier. Artikelnummer der Sache in der Inventarliste. Also lass uns das hier hinstellen. Artikelnummer bedeutet den Index für die Nummer, die zu dem Ding in der Inventarliste gehört, und das Ding ist hier natürlich Index. Und da wir nicht den Index des ausgewählten Spielobjekts haben, müssen wir hier das Objekt ausgewählt nehmen. Und für den Schlüssel wird das, wie gesagt, einer für den Apple zwei und ein veralteter drei sein, aber das hängt von der Reihenfolge in der der Spieler die Objekte aufgenommen hat Und das ist wichtig. Wenn also der Apfel zum Beispiel an dritter Stelle in der Inventarliste steht und der Apfel das gewählte INF-Objekt ist, wird das gewählte INF-Objekt zwei sein, da der Apfel zwei als Index als ID hat, und die Artikelnummer zwei drei, wenn der Apfel am Ende ist. Lassen Sie uns das überprüfen. Also holen wir hier den ersten Artikel ab. Und wir müssen es natürlich verwenden, und das ist hier okay, denn -75 ist die richtige Position für dieses Jahr wird eine sein, da gewählte INF-Objekt das einzige Objekt in der Inventarliste sein wird das einzige Objekt in der Inventarliste Diese Zahl wird also eins sein, also ist es -75 plus eins, Wir können hier schon sehen, dass das Objekt eins ausgewählt ist, also das ist richtig, und wir holen hier ab, lassen Sie uns zuerst die Tasche hier und dann den Apfel aufheben Die Inventarliste wird also so aussehen. Der erste Eintrag ist eins, der zweite Eintrag ist drei und der dritte ist zwei. Also lass uns das überprüfen. Inventarliste, wir können eins, drei, zwei anzeigen. Das ist also richtig, denn der Schlüssel hat die ID, den Index eins, die Tasche hat den Index drei oder die ID drei und der Apple hat die ID zwei So weit, so gut. Aber das ist hier natürlich nicht richtig denn das ist nur eins, zwei, drei. Dies reicht nicht aus, um die Aktionstaste „Verwenden“ an einer anderen Stelle zu platzieren . Wir können es vielleicht versuchen. Vielleicht sehen wir einen Unterschied. Ja, wir können einen Unterschied sehen. Es ist nur ein Pixel, aber Sie können feststellen, dass es hier ein Pixel nach links und dann ein Pixel nach rechts und ein weiteres Pixel nach rechts ist, wenn ich den Apfel pflücke. Man kann sehen, wie er sich leicht bewegt. Das ist okay, aber wir müssen das hier mit 40 multiplizieren , weil 40 der Abstand zwischen den Objekten in der Inventarliste ist . Gehen wir hier zu den Operatoren und dem Multiplikationsoperator. Jetzt müssen wir das hier mit 40 multiplizieren. Und dann leg es wieder hierher. Es ist -75 plus 40 mal und dann eins, zwei oder drei, abhängig von der Position hier. Lass uns das versuchen. Ich denke, wir werden schon einen Unterschied sehen. Ja, es ist hier drüben. Okay. Mal sehen, was passiert, wenn wir auf den Apfel klicken, der Apple ist der letzte, und er ist hier drüben. Und der Staat ist hier drüben, der Schlüssel ist hier drüben. Es scheint zu funktionieren, aber dieser Offset hier ist nicht korrekt. Und das liegt daran, dass wir immer mit mindestens eins multiplizieren und niemals mit Null, also gibt es immer mindestens -75 plus 40. Deshalb müssen wir diesen Offset hier ändern, zwei -115, was -75 -40 ist. Das sollte besser funktionieren Wir sollten den Unterschied genau hier mit dem Schlüssel sehen. Das funktioniert also sehr gut. Benutze es. Und jetzt können wir zu dem Apfel und der Tasche gehen und sehen, dass es immer mittig ist, irgendwie zentriert über dem Objekt, auf das zuvor geklickt wurde Hier ist es direkt über der Tasche, über dem Apfel und genau hier über dem Schlüssel Das funktioniert, du kannst die Melodie ein bisschen finden , sodass sie vielleicht nicht hier ist, sondern etwas nach links hier sodass sie hier immer mittig ist, kann das ein bisschen verschieben, vielleicht so Und wir sehen jetzt, dass es hier mittig über dem Apfel liegt und auch über der Tasche Ich denke, das ist gut genug, und der Spieler kann jetzt sehen, wofür diese Verwendung gedacht ist In diesem Fall ist es natürlich für den Schlüssel, weil es sich direkt über dem Schlüssel befindet, hier ist es für den Apfel und hier für die Tasche. Das sollte okay sein. Aber das Problem ist, wenn ich die Tasche benutze, sagt Avery immer noch, kann ich den Schlüssel hier nicht benutzen Damit müssen wir uns im nächsten Video befassen. 51. 51 Anzeigen verschiedener Nachrichten für jede Objektverwendung: Wir haben gesehen, dass diese Logik hier auch für andere Räume gilt . Wenn ich auf dem Apple auf Verwenden oder auf dem Satchel auf Verwenden klicke, dann wird auch hier darüber gesprochen. Ich kann diesen Schlüssel hier nicht verwenden. Was tun wir dagegen? Wir brauchen hier noch einen Scheck. Das Rätsel für den ersten Raum ist hier gelöst, also sollten wir vorher nach dem Zimmer suchen. Lass uns das dann kontrollieren und das hier rumstellen. So sieht man das in Grau, wie es sein wird, und so ist es. Gehen wir zu den Operatoren und wir müssen nach dem Zimmer suchen. Gleichheit hier. Jetzt brauchen wir den Zählraum. Wenn Zählzimmer gleich Schlafzimmer ist, was das erste Zimmer ist, dann können wir diese Kontrollen durchführen Sonst tun wir hier nichts. Lass uns das versuchen und lass uns die Inventarliste hier loswerden. Verstecken. Das Abholen des Schlüssels sollte trotzdem funktionieren. U und dann sind wir im nächsten Raum. Jetzt holen wir den Apfel und die Tasche ab. Und wenn wir hier die Tasche benutzen, wird nichts angezeigt. Wenn wir den Apfel benutzen, wird nichts angezeigt, und das Gleiche gilt für den Schlüssel Der Schlüssel macht also nichts. Wenn ich es im zweiten Raum benutze. Wenn ich es im ersten Raum verwende, funktioniert das, und wenn ich es im zweiten Raum verwende, wird hier nichts getan. Also das ist okay. Aber natürlich müssen wir etwas tun, wenn wir in einem zweiten Raum sind, die Spieler im zweiten Raum sind und die Tasche und der Apfel benutzt werden Also sollten wir wenigstens etwas zur Schau stellen oder lassen Sie uns jemals etwas sagen Okay, das ist einfach weil wir nur den aktuellen Raum überprüfen. Ein anderes, wenn dann, ziehen wir das zuerst hierher und wir können diesen Zustand hier klonen, also klicken Sie einfach mit der rechten Maustaste auf Duplizieren. Und leg es hier drüben hin. Wenn der aktuelle Raum Küche ist, sind wir jetzt in einem zweiten Raum, und jetzt können wir etwas sagen, also duplizieren Sie das zum Beispiel. Natürlich können wir jetzt überprüfen , welches Objekt gerade benutzt wird. Aber im Moment, nur wenn wir sprechen, kann ich dieses Objekt hier nicht verwenden. Ich kann dieses Objekt hier nicht verwenden, und dann legen wir es hier unter das andere, wenn das aktuelle Zimmer dem Schlafzimmer entspricht , also verschieben wir es ein wenig. Okay. Also, wenn der aktuelle Raum Schlafzimmer ist, dann haben wir die alte Logik für den ersten Raum, und wenn der aktuelle Raum Küche ist, dann sagen wir einfach, ich kann dieses Objekt hier nicht verwenden. Wir können später genauer sein, aber lassen Sie es uns vorerst versuchen. Das sollte hier nichts ändern. Aber hier, nachdem wir die beiden Objekte abgeholt haben, können wir jetzt verwenden und Avery sagt diesen Satz hier. Es ist natürlich derselbe Satz für diese beiden Objekte, oder sogar für den Schlüssel, es ist derselbe Natürlich können wir jetzt nach dem ausgewählten Objekt suchen. Das ist also praktikabel, das im Objekt ausgewählt wurde. Das ist das hier. Wir können noch einen machen, wenn dann hier. Und prüfe die Gleichheit. Ich habe Objekt ist ausgewählt und dann die Idee des Objekts. Wenn es einer ist, ist es vielleicht der Schlüssel, und wir können sagen, dass ich den Schlüssel bereits benutzt habe, zum Beispiel, den hier einfügen und wir können ihn duplizieren . Leg das weg. Wenn es zwei sind, dann ist es der Apfel. Wir können etwas für den Apfel sagen. Beweg das ein bisschen. Ich besser. Nehmen wir an, ich esse es besser nicht hier, sondern nehme es mit zu S, so etwas. Nochmals, rechter Mund. Dann für den Schulranzen, wird also der Fall sein, wenn das gewählte Info-Objekt drei ist Das muss ich mit zur Schule nehmen, einfach so. Am Ende bedeutet das, dass Sie keines der Objekte im zweiten Raum benutzen können . Um das Rätsel hier zu lösen, machen wir es sehr einfach. Du musst sie nur abholen und dann kannst du hier nach rechts gehen. Und natürlich können Sie sich hier ein anderes Rätsel vorstellen, bei dem Sie den Apfel zum Beispiel an der Tasche verwenden müssen , und dann können Sie so etwas zurücklassen Das können wir verlängern, vielleicht auch nicht. Aber lass uns das zuerst hier versuchen. Für jedes Objekt gibt es hier also eine andere Nachricht, gibt es hier also eine andere Nachricht je nachdem, welches ausgewählt ist. Okay. Also zuerst den Schlüssel, natürlich. Benutze ihn. Das ist okay. Der Apfel und die Tasche. Benutze zuerst den Schlüssel Ich habe den Schlüssel schon benutzt und hier, Apple, ich esse ihn besser nicht hier, sondern nehme ihn mit zur Schule. Es ist nicht lang genug. Das kannst du nicht lesen, also lass uns 3 Sekunden draus machen. Benutze es. Ich esse es besser nicht hier, sondern nehme es mit. Das ist okay. Und benutze den Sach Und das muss ich mit zur Schule nehmen. Das ist es. Jetzt müssen wir uns darum kümmern, dass Avery diesen Raum hier verlässt. Im Moment ist das nicht möglich, wenn sie versucht, den Raum auf der rechten Seite zu verlassen . Das ist nicht möglich. Also das müssen wir umsetzen, und wir müssen überprüfen, ob sowohl die Tasche als auch der Apfel im Inventar sind, und dann kann Avery den Raum verlassen und das Haus verlassen, um zur Schule zu gehen 52. 52 Überprüfe die Ausgangsbedingungen: Wir müssen die Ausgangsbedingungen für die beiden Räume, die wir haben, anpassen . Für das erste Zimmer haben wir bereits einen Scheck. Das ist hier, wenn wir Farbe berühren, dann nehmen wir an, dass Avery die Tür berührt, und dann prüfen wir, ob sie den Schlüssel hat, wenn sie den Schlüssel nicht hat, dann sagen wir, die Tür ist verschlossen Ich muss es beim Schlafwandeln verschlossen haben und dann hat sie den Schlüssel genommen und ihn benutzt während sie an der Tür stand, dann kann sie den Raum verlassen Das erste, was wir tun müssen, ist ein bisschen umzugestalten , weil das hier ein ziemlich langer Block ist, also müssen wir ihn extrahieren, falls hier Ziehen wir das also raus, wenn wir Farbe berühren, ziehen wir hierher und fügen es in einen benutzerdefinierten Block ein Also machen wir einen Block und nennen ihn Check Bedroom Exit, einfach so, ohne irgendwelche Parameter hier. Dann stellen wir das hier hin. Dann brauchen wir ein ob und wir schauen nach dem aktuellen Zimmer. Also, wenn der aktuelle Raum dem Schlafzimmer entspricht, brauchen wir hier die Variable für den aktuellen Raum Und hier haben wir das Schlafzimmer eingerichtet. Dann können wir unseren Block-Check-Schlafzimmerausgang anrufen. Okay. Und das haben wir hier wieder in die F-Schleife gesteckt. Das sollte also nichts ändern, weil wir hier gerade diesen Check in diesen benutzerdefinierten Block hier Okay, also lasst uns überprüfen, ob das wirklich nichts ändert Und es scheint, es funktioniert. Und das bringt hier nichts , wenn Avery versucht, hier rauszukommen. Hier wird nichts gesagt. Das müssen wir natürlich überprüfen, falls Avery versucht, von hier wegzukommen. Wir müssen den Zustand überprüfen um diesen Raum hier zu verlassen. Wie machen wir das? Wir suchen hier nur nach der Position von Avery. In Bewegung, wir haben hier diese X-Position. Ziehen wir das hinein und definieren wir einen weiteren Block. Überprüfe den Ausgang der Küche. Und hier können wir auch prüfen, ob die Position größer ist als die Exposition größer als , sagen wir 200 vielleicht, und dann können wir etwas sagen Lass uns zuerst sagen oder sprechen. Wir verwenden hier unseren benutzerdefinierten Block Speak, weil er auf diese Weise nichts blockiert. das einfach doppelt, leg es hier hin, und ich kann nicht ohne meine Tasche und etwas zu essen gehen , und die Sekunden sollten Lass uns das zuerst überprüfen. Wir müssen natürlich in den zweiten Raum gehen und jetzt direkt zum Ausgang. Natürlich funktioniert es nicht. Warum nicht? Weil wir es nicht angerufen haben. Also lass uns das hier duplizieren. Platziere es direkt unter dem anderen, falls es sich um ein aktuelles Zimmer handelt. Und dann entspricht der aktuelle Raum der Küche. Dann nennen wir unseren neuen Block hier. Dann überprüfe den Ausgang der Küche. Oh, ich verstehe jetzt, dass das hier eine andere Reihenfolge ist, überprüfe den Ausgang des Schlafzimmers und den Ausgang der Küche. Aber wie dem auch sei, lassen wir es so. Wenn der aktuelle Raum also Küche ist, suchen wir nach der Ausgangsbedingung für die Küche, die hier definiert ist. Und im Moment ist es einfach nicht möglich, den Raum hier zu verlassen. Lass es uns noch einmal versuchen. Von Anfang an, okay, wer kann gehen und jetzt kann ich nicht ohne meine Tasche und etwas zu essen Ja. Also das ist jetzt richtig. Aber hier müssen wir natürlich nach der Tasche und dem Apfel suchen Wenn beide im Inventar sind, kann Avery die Küche verlassen Wir können das Haus verlassen und dann zur Schule gehen. Das ist einfach. Machen wir das, machen wir hier ein bisschen Platz. Wenn die Exposition größer als 200 ist, können wir ein weiteres Wenn angeben, aber jetzt ist es ob anders, also müssen wir nach Variablen suchen Wenn die Inventarliste enthält, und wir müssen nach zwei Dingen suchen, und deshalb brauchen wir hier den letzten Block. Zuerst ist die Inventarliste enthält, und dann haben wir zwei, das ist der Index oder die ID für den Apfel, und hier brauchen wir wieder die Inventarliste, die drei enthält, nämlich die Tasche Wenn beide im Inventar sind, dann können wir etwas sagen und ansonsten sagen wir, ich kann nicht gehen wie bisher Lassen Sie uns das auch und hier duplizieren. Wir können für den Moment einfach sagen, es ist okay, ich denke zu sagen, ich kann jetzt zur Schule gehen und versuchen, dass es funktioniert Fangen wir noch einmal an. Mit dem Schlüssel. Lass uns den Apfel pflücken. Nimm die Tasche und jetzt können wir gehen. Ich kann jetzt zur Schule gehen. Im Moment konnte Avery den Raum verlassen. Wir könnten hier das Zimmer wechseln, aber ich denke, das ist vorerst okay Sie sagt, ich kann jetzt gehen, und wenn du nicht beide hier abgeholt hast, den Apfel und die Tasche, dann sagt sie, ich kann nicht ohne meine Tasche und etwas zu essen gehen finde ich toll, denn das ist die Lösung für unseren zweiten Raum, und auf diese Weise kann der Spieler das zweite Rätsel lösen, was ziemlich einfach ist Ich muss nur zwei Objekte aufheben und dann gehen. Aber natürlich kann man es immer komplizierter machen, dass der Spieler vielleicht zwei Gegenstände miteinander kombinieren muss, vielleicht einen weiteren Gegenstand daraus erstellen muss, einen weiteren Gegenstand daraus erstellen muss, oder den Apfel vielleicht in die Tasche legen muss, so etwas, oder vielleicht musst du den Apfel auf einem Messer benutzen, um den Apfel zu schneiden, um ihn in Scheiben zu schneiden, und dann kannst du ihn mit zur Schule nehmen Vielleicht ist das die Lösung, aber hier hast du das Muster, wie das geht 53. 53 Neues Spiel Jump 'n Run: Ordnung, wir sind hier, um unser nächstes Spiel zu beginnen, und dieses nächste Spiel wird ein Jumper-Run-Spiel sein Also, wir haben diese Katze hier und wir bleiben bei einer Katze Diese Katze wird springen. Es wird auf Plattformen laufen. Es wird Marmeladen, Sterne, was auch immer sammeln, und das ist die Gelegenheit, unsere Sprungkontrolle und Run-Kontrolle hier von Grund auf neu zu bekommen . Bis jetzt haben wir unser Raumschiff nur vom Spieler kontrollierbar gemacht unser Raumschiff nur vom Spieler kontrollierbar Und auch Avery war links und rechts kontrollierbar. Aber hier geht es um Springen, um Animation, um Schwerkraft Also lass uns anfangen. Zuerst brauchen wir einen Boden, einen Boden. Also lass uns hier etwas malen. Gehen wir zur Bühne und dann zu den Kulissen, und hier können wir dieses Rechteck nehmen , um den Boden zu machen. Also mach einfach ein Rechteck, so etwas. Vielleicht ändern wir die Farbe. Also so etwas und die Farbe wird vielleicht braun sein oder wir machen es grün, ein bisschen dunkler, also könnte das eine Art Gras sein. Also das ist okay. Jetzt haben wir den Boden und wir haben hier auch eine Gliederung, oder Sie können beschließen, die Gliederung loszuwerden , indem Sie dieses Jahr auswählen. Also können wir das machen, und dann haben Sie die Gliederung nicht. Aber im Moment denke ich, dass wir Schwarz als Umriss nehmen. Jetzt muss ich es ein bisschen breiter machen, vielleicht nur so und ein bisschen breiter, so etwas in der Art. Hier haben wir den Boden und hier haben wir die Katze. Die Katze ist ein bisschen zu groß. Ich würde sagen, also lass uns einfach die Katze auswählen und dann können wir die Größe auf 50 ändern , also auf 50%, was okay erscheint. Lassen wir es also so. Und hier können wir uns die Kostüme ansehen. Das erste Kostüm ist die Katze in dieser Position hier. Das zweite ist eine Art springende Katze, also das können wir dann in der Springphase verwenden. Apropos Springen, wir werden unsere erste Startposition hier bei der Katze festlegen , also ziehen wir die Katze vielleicht irgendwohin, und von dort fällt die Katze auf den Boden, hier zu Boden, wann immer auf Go geklickt wird, wann immer das Spiel beginnt Gehen wir also zu den Events und dann, wenn wir starten, klicken. Was machen wir hier? Natürlich brauchen wir einen Game-Loop, also eine Ewigkeit. Das können wir hierher ziehen, und wir müssen die Startposition der Katze so einstellen , dass sich die Katze jedes Mal, wenn wir das Spiel neu starten , an dieser Position befindet Ziehen Sie also nach X und Y, und die Koordinaten sollten die aktuellen Koordinaten sein. Wir können also anfangen, aber es wird nichts passieren, weil wir diese Position hier festlegen, wir können die Katze wegziehen und dann starten, und sie wird sich hier an der Startposition neu sich hier an der Startposition Wie bringen wir also die Katze dazu, von dort auf den Boden zu fallen? Das ist ziemlich einfach. Wir müssen Y der Katze ändern, und zwar nicht um zehn, sondern um etwa fünf, aber auf diese Weise wird es steigen, also ist es minus fünf, und die Katze wird sinken. Wenn wir uns hier ändern, fällt es automatisch runter, aber hier fällt es natürlich unter die Erde. Das müssen wir also natürlich vermeiden. Aber im Moment ist die Katze gerade dabei, hier vorbeizuschauen. Aber hier gibt es keine Anzeichen von Schwerkraft oder Beschleunigung. Die Katze hat eine konstante Geschwindigkeit, was natürlich nicht gut ist, aber lassen Sie uns zuerst unsere Kollisionserkennung mit dem Boden zum Laufen bringen . Wie können wir hier also überprüfen , ob die Katze mit dem Boden kollidiert? Das ist ziemlich einfach. Wir müssen zur Wahrnehmung übergehen, und hier haben wir diese berührende Farbe, und diese Farbe muss natürlich das Grün sein, das wir haben. Klicken Sie also hier auf diese Pipette und wählen Sie das Grün am Boden aus Jetzt haben wir also die richtige Farbe. Und wenn dann, brauchen wir hier eine Kontrolle. Wenn wir also Farbe berühren, was tun wir dann? Im Moment können wir das Drehbuch einfach hier beenden. Das stoppt also das komplette Spiel, so wie es ist. Stop All beendet sofort alle Skripte und macht nichts weiter. Dann ist also alles gestoppt und es läuft kein Script mehr. Also wird auch dieser Velop nicht mehr laufen. Das wird also komplett verhindern, dass die Katze herunterfällt. Hoffentlich. Schauen wir mal , ob das funktioniert. Also, wenn die Katze diese Farbe berührt, dann beenden Sie das Script hier, beenden Sie den Code. Mal sehen, ob das funktioniert, und es funktioniert. Und schauen wir uns das genauer an. Wir können sehen, dass sich der Fuß der Katze hier innerhalb der Grünfläche befindet, und das ist natürlich nicht das, was wir wollen, also müssen wir das später reparieren. Aber im Moment haben wir die fallende Katze. Und dann hört es auf, wenn es hier auf den Boden fällt. Aber das ist natürlich ein bisschen zu spät, also muss der Fuß natürlich über dem Boden sein , also müssen wir uns dafür eine Lösung überlegen. Aber im Moment werden wir als Nächstes die Schwerkraft umsetzen . 54. 54 Simuliere die Schwerkraft: Die Katze fällt also schon, wie wir hier sehen können, aber das ist nicht realistisch, weil wir so etwas wie die Schwerkraft nicht haben, was die Geschwindigkeit hier beschleunigen würde. Das ist also nur eine gleichmäßige Geschwindigkeit, was physikalisch natürlich nicht korrekt ist. Okay. Aber wie simulieren wir die Schwerkraft? Sehr einfach. Wir ändern y hier um, in diesem Fall, minus fünf, und das ist eine ständige Änderung, und wir müssen diese konstante Änderung ändern, damit dynamisch ist, und sollte in der Form von Evolut angepasst werden Ich zeige, was ich meine, aber bevor wir das tun, werden wir eine Variable einführen, die wir Geschwindigkeit nennen, oder besser gesagt Geschwindigkeit Y, weil wir auch eine Geschwindigkeit für die X-Richtung wollen Also nennen wir es Geschwindigkeit y, und das natürlich nur für diesen Zweig, weil diese Braut die Bewegung macht Okay. Jetzt haben wir Geschwindigkeit y. Jetzt setzen wir sie zu Beginn des Spiels auf einen bestimmten Wert. Also setzen wir es auf eins, nicht meine Variable, sondern Geschwindigkeit y hier, und wir können das hier löschen oder löschen. Das brauchen wir nicht. sollten wir unserem Jump-and-Run-Spiel einen Namen geben. Also nennen wir es Jump Around , nicht sehr kreativ, aber du kannst es natürlich anders benennen, aber ich werde es hier so nennen. Okay. Also, wenn wir die Geschwindigkeit y auf eins gesetzt haben, müssen wir sie natürlich verwenden , und wir verwenden sie hier für Evolut statt dieser Konstante minus fünf Ziehen wir also Geschwindigkeit y hierher bis zur Änderung y y, und wir haben die y y Geschwindigkeit y geändert. Also können wir sie auf minus fünf setzen und es dann erneut versuchen Also werden wir das auch hier los, verstecken die Anzeige von Geschwindigkeit Y, sodass wir sehen können, wie die Katze fällt. Jetzt fällt die Katze wieder. Keine Änderung, aber jetzt haben wir die Möglichkeit, eine Schwerkraftstimulation einzuführen . Wie machen wir das? Wir ändern die Geschwindigkeit y in jeder Iteration um einen bestimmten Betrag , hier in den vier Evolpes Am Ende können wir also Geschwindigkeit y um minus, sagen wir 0,5, ändern y um minus, sagen wir 0,5, Lassen Sie uns damit beginnen und sehen, wie das funktioniert. Das ist hier eine ziemlich starke Schwerkraft. Die Katze fällt also wirklich schnell. Aber ich denke, es ist okay. Wir können das auch auf zum Beispiel minus eins ändern und es dann testen. Es fängt also langsam an und wird dann sehr schnell schneller. Sie können hier ein wenig mit den Einstellungen experimentieren, also ändern Sie das und ändern Sie hier die Anfangsgeschwindigkeit. Aber Sie können sehen , dass das realistischer ist , als hier die ganze Zeit eine einheitliche Geschwindigkeit zu haben. Eine konstante Geschwindigkeit ist nicht natürlich. Das ist also eine Art Simulation für die Beschleunigung hier, für die Schwerkraft der Erde. Und ich denke, das ist ein bisschen zu langsam. Also fangen wir vielleicht mit minus zwei an. Ja, ich denke, das ist okay. Vielleicht sollten wir ein bisschen schneller anfangen und es dann ein bisschen weniger machen . Lass uns das versuchen. Nun, das ist zu langsam. Lass es uns ein bisschen höher machen. Das ist zu schnell. Sie können sehen dass die Katze hier im Boden feststeckt. Also vielleicht war das hier ganz okay. Wir können es später immer noch anpassen weil wir diese Variable hier haben, sodass Sie diese beiden Werte hier anpassen können. Oder wir können hier natürlich auch eine Variable für diesen Wert angeben, sodass wir eine neue Variable erstellen und sie Schwerkraft nennen können. Und vielleicht sollte es für alle Sprites gelten, weil die Schwerkraft für alle Sprites gleich sein sollte, nicht nur für dieses Sprite nicht nur für dieses Nehmen wir an, für alle Sprites hier, und dann können wir die Schwerkraft hier auf -0,5 setzen und dann die Schwerkraft hier in diese Änderung der Geschwindigkeit y durch die Schwerkraft setzen in diese Änderung der Geschwindigkeit y durch die Schwerkraft und dann können wir die Schwerkraft hier auf -0,5 setzen und dann die Schwerkraft hier in diese Änderung der Geschwindigkeit y durch die Schwerkraft setzen. Lass es uns versuchen. Das sollte nicht der Unterschied sein. Hier kann man also auf sehr schöne Weise explizit sehen, dass die Katze im Boden versinkt , weil die Geschwindigkeit jetzt viel höher ist und die Kollisionserkennung sozusagen langsam ist , die Katze fällt auf diese Weise in den Boden Das ist es also, was wir als nächstes Problem angehen, aber es ist nicht sehr schwer, das zu tun, aber wir können eine weitere Funktion von benutzerdefinierten Blöcken verwenden , wenn wir das tun Im nächsten Video geht es also darum die Katze vom Boden wieder an die Oberfläche zu ziehen, und dafür brauchen wir eine neue Funktion für Blöcke. 55. 55 Graben der Katze: Die Katze fällt also hin. Das ist okay, aber es steckt im Boden fest. Also, was können wir dagegen tun? Die Antwort ist, dass wir es wieder ausgraben können. Und wie machen wir das mit einer Wiederholung? Oder in diesem Fall ist es so lange zu wiederholen, bis Sie also diese Wiederholung herausziehen, bis die Schleife hier ist. Und jetzt brauchen wir hier eine Bedingung. Und für diesen Zustand werden wir wieder die berührende Farbe verwenden. So berührende Farbe. Wenn dieser Geist die Farbe berührt und sie dieselbe Farbe wie der Boden haben muss Wähle also die Farbe vom Boden aus. Es muss diese Farbe sein. Sonst wird es nicht funktionieren. Und wir wiederholen es, bis wir die Farbe berühren. Nein, wir wiederholen es, bis wir die Farbe nicht mehr berühren. Das ist nicht hier unter Operatoren, dieses Grün nicht, wir müssen es verwenden, ohne die Farbe zu berühren. Das hier reinziehen und das hier muss nicht hin. Das müssen wir wiederholen, bis wir die Farbe nicht mehr berühren , sodass sich das Kätzchen wirklich außerhalb des Bodens befindet So etwas vielleicht. Und dann können wir es beenden, damit dieser Kreislauf hier nicht weitergeht. Was machen wir, bis die Katze aus dem Boden ist? Wir müssen sie natürlich aus dem Boden holen. Und das natürlich, indem wir das Y ändern. Wir müssen Y um eins ändern, weil eins nach oben zeigt, also müssen wir Y in dieser Schleife ändern . Solange es die Farbe berührt, also wenn es die Farbe nicht mehr berührt, wird diese Schleife verlassen und die Katze ist an der Oberfläche. Das ist also die Theorie, und jetzt müssen wir sie irgendwo hier platzieren. Und natürlich müssen wir das hier tun , wenn wir Farbe berühren. Wenn wir Farbe berühren, dann befindet sich die Katze bereits im Boden innerhalb dieses grünen Bereichs, und wir müssen nach oben gehen, indem wir Y um eins ändern. Schritt für Schritt gehen wir wieder aufwärts. Vom Runterfallen in den Boden gehen wir wieder hinauf, bis die Katze diese Farbe nicht mehr berührt. Danach, nachdem die Schleife verlassen ist, hören wir alles auf, und die Katze sollte an der Oberfläche sein und die Farbe nicht mehr berühren Probieren wir es aus und Sie können sehen, dass es funktioniert. Ich betone, dass es langsam wieder aus dem Boden kommt und dann an der Oberfläche anhält Also, das ist gut, weil Sie das Verfahren hier sehen können , wie es funktioniert. Die Katze bewegt sich also Pixel für Pixel nach oben , bis sie den Punkt erreicht an dem sie die Farbe Grün hier nicht berührt. Noch mehr. Also das funktioniert, aber es ist nicht sehr nett für den Spieler, weil das sichtbar ist. Dieses Aufsteigen der Katze ist an der Oberfläche sichtbar. Also müssen wir etwas dagegen tun. Und das ist mit Hilfe eines benutzerdefinierten Blocks möglich. Also machen wir einen Block. Und wir nennen es Fix Y. Damit wird das Y-Kornett repariert, das ein bisschen zu tief ist, um auf der Oberfläche der Farbe dieses Aber klicken Sie jetzt nicht auf K , denn wir müssen dieses Kästchen hier ankreuzen, ohne Bildschirm ausführen, aktualisieren Was bedeutet das? Wir können es jetzt sehen. Also kreuzen Sie dieses Kästchen an, klicken Sie auf OK, und dann fügen wir das hier ein, wiederholen Sie diese Wiederholung, bis Sie hier in unserem Definitionsblock sind. Also definiere Fix Y. Wir reparieren hier also die Y-Position für die Katze, und das nennen wir natürlich immer dann, wenn die Katze den Boden berührt oder die Farbe hier berührt. Lass uns das versuchen. Und wir sehen, dass wir diesen Aufstieg der Katze nicht mehr sehen. Das behebt also unser Problem. Aber warum? Wie du sehen kannst, wenn du erneut auf Bearbeiten klickst. Dies ist das Kontrollkästchen, das wir aktiviert haben, ohne Bildschirmaktualisierung ausführen, und genau das soll es bedeuten. Sie können also nichts sehen , was hier in diesem benutzerdefinierten Block getan wird. Alles, was hier getan wird, aktualisiert also nicht den Bildschirm. Das bedeutet also, dass dieser Anstieg hier nicht sichtbar ist. Und genau das brauchen wir für dieses Verfahren hier. Und das hat noch einen weiteren Vorteil, und der Vorteil ist, dass es ohne Bildschirmaktualisierung viel schneller ist. Dieser Block hier oder dieser Code hier drinnen werden also viel schneller ausgeführt als der gesamte Code , der sich hier in dieser Dauerschleife befindet, zum Beispiel, weil der Bildschirm nicht aktualisiert werden muss , um den Bildschirm zu zeichnen. Und bei Scratch gibt es eine Bildrate, eine feste Bildrate von 30 Bildern pro Sekunde, eine Bildschirmaktualisierung erfolgt 30 Mal pro Sekunde, und alles, was Sie hier tun, löst eine Bildschirmaktualisierung aus, und deshalb können Sie hier keine bestimmte Geschwindigkeit erreichen. Es ist also auf 30 Bilder pro Sekunde beschränkt. Wenn Sie hier jedoch einen benutzerdefinierten Block mit diesem Kontrollkästchen verwenden , sind Sie nicht mehr eingeschränkt. gibt es immer noch ein Limit, da Sie hier nicht die gesamte CPU Ihres Computers blockieren können die gesamte CPU Ihres Computers während Sie dies hier im Loop tun, aber es ist viel schneller als bei der Bildschirmaktualisierung. Wir können hier also sehen, dass die Katze völlig fest auf der Bodenoberfläche steht, sodass sie nicht einsinkt und wieder hochkommt Und das ist sehr nett, denn auf diese Weise ist es zum einen schneller und zum anderen kann man auf dem Bildschirm nichts sehen, was hier in diesem Block gemacht wird Sehr wichtig. Wenn Sie also etwas haben, das sehr schnell und mit schnellerer Leistung erledigt werden muss sehr schnell und mit als beispielsweise die normale Bildschirmaktualisierung, dann können Sie es hier in einem benutzerdefinierten Block mit diesem Kontrollkästchen hier tun , ohne Bildschirmaktualisierung ausführen. Wie gesagt, es gibt immer noch eine Grenze was getan werden kann, was die Leistung angeht, aber hier ist das viel schneller, und Sie können die Auswirkungen erst sehen , wenn dieser Block fertig ist. die Auswirkungen natürlich dieser Block also fertig ist, können Sie auf dem Bildschirm sehen. Aber hier drinnen, wenn zum Beispiel y um eins geändert wird, wird diese Änderung hier nicht auf den Bildschirm übertragen, sondern sie wird hier in dieser Schleife fortgesetzt , bis dieser Block verlassen wird Okay, jetzt haben wir den Sturz der Katze und ja, und die Katze steht auf festem Boden, ohne im Schlamm oder so zu versinken Also das ist nett, und jetzt können wir tatsächlich die Steuerung implementieren , um die Katze nach links und rechts zu bewegen, und natürlich auch für das Springen 56. 56 Die Katze springt: Bevor wir hier die Steuerung für das Springen übernehmen, müssen wir die Kostüme wechseln Wenn also die Katze fällt, müssen wir dieses Kostüm, das schon da ist, das erste erste Kostüm setzen das schon da ist, , aber wir müssen es explizit machen. Wenn also auf Los geklickt wird, sollte das richtige Kostüm ausgewählt werden, also ist es Kostüm, also diese Art von springender Katze Und wenn die Katze tatsächlich auf den Boden fällt, sollten wir hier zu einem anderen Kostüm wechseln Wenn du Farbe berührst, dann repariere Y , und davor können wir das Kostüm hier gegen das erste austauschen. Und lass uns versuchen, ob das funktioniert. Und wir sehen, dass es funktioniert, sobald die Katze den Boden berührt, wechselt sie zu diesem anderen Kostüm zum ersten Kostüm. Okay, das funktioniert also, und jetzt müssen wir Steuerelemente für das Springen hinzufügen, und das ist mit der Leertaste, würde ich vorschlagen, also müssen wir hier ein Wenn eingeben, wenn, und dann müssen wir überprüfen die Leertaste gedrückt ist. Also das ist hier unter Abtastung, und wir haben diese Taste Leertaste gedrückt. Es ist schon Leertaste hier, aber du kannst auch mit einer anderen Taste springen, wenn du willst, also vielleicht die Pfeiltaste nach oben oder so, aber ich benutze hier die Leertaste. Also lass uns das hier in den For-Evelop einfügen. Also vielleicht hier, und das müssen wir in die Länge ziehen. Stellen Sie also sicher, dass der gesamte Code, der bereits da ist, nicht hier drin positioniert ist, nicht hier drin positioniert ist, wenn wir hier etwas anderes einfügen müssen. Also wenn die Leertaste gedrückt ist, dann machen wir etwas anderes, oder danach machen wir hier den Rest, den wir schon vorher gemacht haben. Okay, was machen wir, wenn die Leertaste gedrückt bleibt? Das ist überraschend einfach. Wir brauchen eine Geschwindigkeit, die schneller ist als sie momentan ist. Das ist ein unbekannter Wert, also können wir ihn so anzeigen. Also lasst uns die Schwerkraft loswerden. Das brauchen wir. Es ist eine Konstante, also müssen wir das nicht anzeigen. Und hier haben wir den -16,5. Das ist der aktuelle Wert. Wenn die Katze also fällt, erreicht sie diese Geschwindigkeit, und dann hat sie sich nicht mehr verändert. Aber ich denke, es gibt immer noch ein Problem. Das erste Problem ist, dass das Spiel jetzt gestoppt wurde, sodass wir hier weder mit der Katze noch mit dem Code mehr interagieren können . Also müssen wir den ganzen Stopp hier entfernen . Also leg das weg. Das andere Problem ist , dass wir Geschwindigkeit y nicht auf Null setzen. Das sollten wir tun. Wenn du hierher gehst, um Y zu reparieren, und das können wir nach der Wiederholung hier hinten machen , bis wir Geschwindigkeit y auf Null setzen. Dann sollte es hier Null sein. Aber es schwankt immer noch. Und das liegt daran, dass wir hier ständig die Geschwindigkeit ändern. Ändere also die Geschwindigkeit y durch die Schwerkraft. Aber lass uns im Moment nicht darüber sprechen. Wir müssen hier also etwas tun, wenn die Leertaste gedrückt wird. Also das müssen wir hier implementieren. Das ist eine sehr einfache Methode für den Sprung. Wir müssen hier nur die variable Geschwindigkeit, Geschwindigkeit y, auf einen bestimmten Wert einstellen. Sagen wir zum Beispiel acht. Und das setzt Geschwindigkeit y auf acht zurück. Acht ist also aufwärts. Und das führt dazu, dass Y der Katze auf diese Acht erhöht wird, und dann wird sie durch die Schwerkraft verändert, dann Schritt für Schritt zurück, zwei wird wieder niedriger. Schauen wir uns also an, wie das funktioniert. Also, die Katze fällt und vor dem Weltraum, und die Katze springt. Das funktioniert also schon, und zwar nur, indem man hier in diesem Fall die Geschwindigkeit y, zwei, acht einstellt. Und mit dieser Acht kannst du sagen, wie hoch sie springt, also setzen wir sie vielleicht auf 16. Und dann können wir sehen, dass das hier ein sehr hoher Sprung ist. Er ist viel zu hoch, also halte ich acht für vernünftig. Also, das ist ein guter Sprung. Sie können es natürlich später jederzeit anpassen , und acht ist, glaube ich, vorerst ein guter Wert. Also, was haben wir hier gemacht? Eigentlich haben wir hier gerade das Wechseln der Kostüme eingeführt , was beim Springen nicht so wichtig ist, aber das ist der wichtige Teil hier. Wenn die Leertaste gedrückt ist, stellen Sie die Geschwindigkeit y auf acht ein, und das ist alles. Und natürlich kümmert sich die Schwerkraft um den Rest. Die Geschwindigkeit acht hier führt dazu, dass der Fang höher wird. Aber hier wiederum wird die Schwerkraft immer von der Geschwindigkeit y subtrahiert. Also ist die Geschwindigkeit dann negativ oder Null, und Null, sie wird auf dem Höhepunkt des Sprungs sein Hier irgendwo hier. Hier wird es Null sein, und dann wird die Geschwindigkeit wieder negativ sein, und dann fällt die Katze wieder. Immer wenn Geschwindigkeit y positiv ist, steigt die Katze, und wenn die Geschwindigkeit Null ist, tut sie nichts, und wenn die Geschwindigkeit negativ ist, sinkt sie. Also das ist alles nichts mehr, was wir für das Springen tun müssen, oder vielleicht nur eine weitere Sache, die wir tun müssen. Wir müssen das Kostüm wieder auf das zweite wechseln. Also schaut es aus und wechselt dann das Kostüm. Und wenn die Leertaste gedrückt ist, dann können wir hier zum zweiten Kostüm wechseln. Also lass uns das versuchen. Und jedes Mal, wenn wir springen, geht die Katze zum nächsten Kostüm oder zu diesem Spring- oder Wanderkostüm. Und das funktioniert gut. Okay, jetzt wo wir das gemacht haben, müssen wir natürlich die Katze im horizontalen Raum kontrollieren, also nach links und rechts gehen. Und wenn wir springen, müssen wir auch die Katze in der Luft kontrollieren. Das machen wir also im nächsten Video. 57. 57 Bewegen der Katze nach links rechts: In Ordnung, also lass uns die Katze nach links und rechts bewegen. Das ist es, was jetzt für die Katzenbekämpfung fehlt. Lass uns das machen. Was brauchen wir? Wir brauchen das, wenn es hier ist. Kopieren wir das, zweifeln wir daran. Und du wirst sehen, dass das Double den ganzen Block hier hat, den Rest des Blocks, also lass uns diesen unteren Teil loswerden, und wir brauchen jetzt nicht die Leertaste, sondern die Rechtspfeiltaste Natürlich machen wir hier etwas anderes, wechseln nicht die Kostüme und stellen nicht Geschwindigkeit Y ein. Apropos Geschwindigkeit Y, wir brauchen hier etwas anderes. Wir machen eine neue variable Geschwindigkeit x. Das brauchen wir hier für die x-Bewegung in horizontaler Richtung. Natürlich für alle Sprites, nur für das Katzen-Sprite, und das können wir verwenden Zuerst müssen wir das initialisieren. Geschwindigkeit x ist am Anfang Null, weil sich die Katze am Anfang nicht bewegen sollte, und dann können wir sie auf etwas anderes einstellen, wenn die Taste für die linke oder für die rechte Bewegung gedrückt wird die linke oder für die rechte Bewegung Für die rechte Pfeiltaste müssen wir etwas ändern, wir müssen Geschwindigkeit x vielleicht auf etwa fünf setzen, und fünf ist die richtige Richtung. Dubiziere das und ich drücke die linke Pfeiltaste, dann ist es minus fünf Minus fünf wäre dann links, und wir müssen natürlich auch x ändern, nicht nur y. Gehen wir also zur Bewegung über, ändern wir x. Nicht um zehn, aber wir haben hier diese neue Variable, Geschwindigkeit x, und wir müssen sie hier auf Geschwindigkeit x setzen Ändere x durch Geschwindigkeit x, ändere y durch Geschwindigkeit y. Klingt logisch und ist es auch, und jetzt müssen wir das hier an der richtigen Stelle hier an der richtigen Stelle einfügen . Das sollte also direkt unter dem Punkt „Wenn die Leertaste gedrückt ist“ stehen, und das wird ein bisschen lang, also müssen wir das vielleicht später umgestalten Aber vorerst versuchen wir das. Wenn die Leertaste gedrückt wird, springen wir, und das bedeutet, dass Geschwindigkeit y eingestellt ist, und wenn die rechte Pfeiltaste gedrückt ist, dann wird Geschwindigkeit x auf fünf gesetzt, linke Pfeiltaste wird gedrückt, dann setzen wir Geschwindigkeit x auf minus fünf, und dann ändern wir x um Geschwindigkeit x, genau wie wir es für die Y-Richtung getan haben. Das ist alles. Lass es uns versuchen und wir können sehen, dass wir die Katze mit der Cursortaste steuern können . Jetzt drücke ich nach rechts, jetzt drücke ich nach links. Aber Sie sehen bereits ein Problem, weil die Katze nicht aufhört. Jetzt drücke ich überhaupt keine Taste und die Katze bewegt sich immer noch. Jetzt bewegt sie sich nicht, weil sie sich am rechten Rand befindet, aber lassen Sie uns überprüfen, warum das der Fall ist. Wir setzen Geschwindigkeit x auf fünf oder minus fünf und setzen sie zunächst auf Null. Aber wenn wir in diesem Fall für Everop den Wert auf einen Wert ungleich Null setzen, wird er nicht auf Null zurückgesetzt. Das müssen wir tun Am Ende der Forever-Schleife setzen wir Geschwindigkeit x auf Null. Auf diese Weise durchläuft es die Schleife und stellt die Geschwindigkeit x25 oder minus fünf ein, wenn eine Taste gedrückt wird, links oder rechts, und dann ändert es x mit der Geschwindigkeit x und setzt es dann wieder auf Null Wenn in der nächsten Iteration keine Taste gedrückt wird, bleibt sie bei Null und die Katze bleibt stehen Lass uns das versuchen. Es funktioniert, also können wir auch die Katze aufhalten. Eigentlich ist es das. Mehr ist nicht dabei. Wir können die Katze nach links bewegen, ganz nach rechts, mit den Pfeiltasten links, ganz rechts. Aber das Problem dabei ist dass die Katze immer nach rechts schaut, was natürlich nicht richtig ist. Wenn man nach links drückt, sollte sie nach links zeigen , davon können wir das auch beheben, aber das machen wir im nächsten Video. 58. 58 Mit der richtigen Richtung zeigen und Doppelsprung fixieren: In diesem Video werden wir zwei Dinge reparieren. Den ersten habe ich bereits im letzten Video angedeutet. Die Katze schaut nicht in die richtige Richtung. Wenn ich mit der Katze nach rechts führe, ist das okay, aber wenn ich sie nach links führe. Sie sollte nach links zeigen. Aber das ist einfach, weil wir das schon mit Avery hatten. Avery musste auch nach links und rechts abbiegen. Lass uns das machen Wir wissen bereits, wie das geht. Als erstes müssen wir den Rotationsstil auf links nach rechts setzen. Das ist dieser Block, der hier in Bewegung ist. Also, wann soll ich klicken. Stellen Sie den Rotationsstil nach links ein. Das ist das Erste. Dann brauchen wir je nach Richtung natürlich zwei , je nach Pfeil links oder rechts. Wir müssen hier in die richtige Richtung zeigen. Lassen Sie uns den Punkt hier in die 90-Grad-Richtung richten. Das ist jetzt der falsche Ort. Nicht Leertaste, sondern Rechtspfeil und dann Richtung Linkspfeil. Wir müssen das um -90 Grad drehen, und auf diese Weise sollte es uns gut gehen Lassen Sie uns das testen und es funktioniert so, wie es bereits in Averys Abenteuer funktioniert hat Das ist hier keine Überraschung. Das ist also die erste Herausforderung und das erste Problem, das wir jetzt gelöst haben. Das zweite Problem, das wir lösen müssen, ist das Sprungproblem weil der Spieler so oft auch in die Luft springen kann , wie er oder sie möchte. Also das ist nicht gut. Das zu beheben ist sehr einfach. Wir müssen uns daran erinnern, dass wir bereits springen. Wenn wir schon in der Luft sind oder die Katze schon in der Luft ist, springen wir nicht wieder. Also brauchen wir hier eine weitere Variable, eine lokale Variable nur für dieses Recht, und wir nennen es Jumping und wir müssen sie natürlich beim Sprung auf Null setzen, und dann müssen wir sie auf etwas anderes setzen , wenn wir springen. Taste Leertaste gedrückt setzen und auf eins springen. Und wenn wir hier auf den Boden treffen, setzen wir ihn wieder auf Null. Wenn wir hier die Farbe Grün berühren, setzen wir sie wieder auf Null. Lass uns das zuerst versuchen. Hier springen wir. Es fängt bei Null an und das ist Eins. Wenn wir den Boden berühren, ist es Null, das funktioniert also. Um zu verhindern, dass der Spieler zweimal springen kann, brauchen wir das, wenn hier und die Operatoren gleich sind. Und jetzt überprüfen wir hier unsere neu erstellte Springvariable. Wenn es schon eins ist, sollten wir nichts tun. Wenn es Null ist, können wir springen. Also hier ist es. Wir müssen das hier einstellen und das dann hierher ziehen. Und dann ziehen wir das wieder in die If-Taste , die hier für die Leertaste gedrückt wurde. Wenn also die Leertaste gedrückt ist, dann suchen wir nach Springen, also muss das Springen Null sein, und dann können wir das Springen auf eins setzen, wir können die Kostüme wechseln und wir können hier Geschwindigkeit Y auf acht setzen. Die Katze springt also, sonst springt die Katze nicht. Lass uns das testen, und ich kann nur einmal springen, bis ich den Boden erreicht habe, dann kann ich wieder springen. Also das ist nett. Die Katze kann springen, aber nur so hoch und nicht höher. Okay. Jetzt haben wir unsere Katze gut unter Kontrolle. Aber im Moment haben wir nur dieses Flugzeug hier, am Boden, und das ist nicht sehr aufregend hier, und es gibt keine Herausforderung. Wir müssen vielleicht auf eine neue Plattform springen oder wir müssen in der Lage sein, vielleicht auf eine neue Plattform springen oder wir müssen in der Lage sein von einer Plattform auf den Boden zu fallen. Das ist also nicht sehr ansprechend. Also müssen wir es reparieren. 59. 59 Fixierung der Kollisionserkennung: Ordnung, also können wir die Katze bewegen, die Katze fällt und wir haben eine Kollisionserkennung, wie Sie hier sehen können, steckt die Katze nicht im Boden fest. Aber es gibt ein Problem, und um Ihnen dieses Problem zu zeigen, müssen wir den Hintergrund ein wenig ändern , sodass wir ein weiteres Hindernis, eine weitere Plattform einführen. Als Erstes möchte ich die Gliederung loswerden , weil ich denke, dass es besser ist , alles zu sehen und zum Beispiel über die Kollisionserkennung nachzudenken, wenn wir hier keine Gliederung haben. Klicken Sie also auf Gliederung und wählen Sie dieses Jahr aus, und die Gliederung ist weg. Und jetzt machen wir irgendwo hier drüben ein weiteres Rechteck, vielleicht ist das ein bisschen zu hoch. Die Katze sollte auf die Plattform springen können. Also so etwas, und um sicherzugehen, dass die Katze wirklich auf die Plattform springen kann, werden wir hier die Sprungkraft etwas erhöhen. Hier setzen wir die Geschwindigkeit y auf acht, und ich würde sie gerne auf, sagen wir, zehn erhöhen , also versuchen wir mal, ob das wirklich hoch ist. Ja, das ist okay, aber es ist nicht hoch genug für die Plattform. Also lass uns 12 draus machen. Und auf diese Weise sollte es für die Katze einfach sein , auf die Plattform zu gelangen. Und Sie können sehen, dass die Kollisionserkennung auch hier funktioniert, sodass die Katze nicht von der Plattform oder durch die Plattform fällt . Aber wenn ich hier vom Rand runter gehe, dann fällt sie. Okay, so weit, so gut. Aber jetzt schauen wir uns das Problem an. Wenn ich hier mit einer Katze unter die Plattform gehe und dann springe, sehen wir, dass die Katze wirklich durch die Plattform teleportiert wird wirklich durch die Plattform teleportiert Und das zu erklären, ist ziemlich einfach, denn hier korrigieren wir Y, wir korrigieren das Y immer in eine Richtung, und das ist nach oben Also, sobald die Katze das, hier die Hintergrundfarbe, berührt , korrigieren wir Y, indem wir nach oben gehen. Und in diesem Fall ist das natürlich falsch. Wir müssen hier runter. Wenn die Katze von unten gegen die Plattform springt , ist das falsch. Was wir also tun müssen, ist das hier zu beheben. Wir könnten entscheiden, ob wir für die Korrektur dieser Korrektur hier nach oben oder unten fahren müssen , indem wir die Geschwindigkeit y überprüfen Wenn Geschwindigkeit y unter Null ist, könnten wir die Korrektur nach oben vornehmen, und im anderen Fall, wenn sie größer als Null ist, könnten wir die Korrektur in die andere Richtung vornehmen. Dies führt jedoch zu weiteren Problemen wenn wir auch die horizontale Bewegung berücksichtigen. Also kann die Katze jetzt zum Beispiel hier einfach so nach oben gehen Wenn du das sehen kannst, muss ich nur gehen, um den rechten Rand oder den linken Rand hier zu treffen Die rechte Kante der Katze trifft hier also auf die linke Kante dieser Plattform und sie geht sozusagen automatisch nach oben Also das ist auch falsch. Wir müssen hier auch die X-Bewegung berücksichtigen, die Bewegung in horizontaler Richtung. Okay, wir müssen hier ein bisschen die Strategie ändern. Diese Strategie ist also, dass wir Y korrigieren, sobald wir bemerken, dass die Katze die Farbe berührt, und ich werde die Strategie jetzt ändern, indem ich schrittweise in die richtige Richtung gehe, natürlich in die Richtung, in die Geschwindigkeit, weit , natürlich. Und dann überprüfen wir für jedes Pixel, ob die Katze die Farbe berührt, und wenn sie die Farbe berührt, gehen wir einen Schritt zurück. Das ist also ein bisschen anders. Hier ziehen wir uns vor der Katze zurück, die im Boden oder auf der Plattform steckt. Dann gehen wir in diesem Fall hoch, bis die Katze die Farbe nicht mehr berührt, aber ich möchte es so ändern dass wir sagen können, dass die Katze sich bewegen soll, sagen wir fünf oder drei Schritte. Und bei jedem Schritt achten wir auf die Berührung, und wenn es sich dabei um eine Berührung handelt, dann machen wir den Schritt nicht, wir machen einen Schritt zurück in die andere Richtung. Schauen wir uns also an, wie das geht. Zuerst müssen wir das hier ändern, wiederholen, bis es wiederholt werden muss. Also lass uns das hier wegziehen. Und jetzt haben wir alles unter Kontrolle. Wir ziehen dieses Jahr in die Länge und wiederholen es bis. Und jetzt müssen wir sagen, wie oft das wiederholt werden soll, und das ist die Anzahl der Schritte, die wir in dieser Runde unternehmen wollen. Wir müssen das Drehbuch hier beenden. Ansonsten macht es hier diese Endlosschleife und macht in der Schleife nichts. Das ist nicht so gut. Wenn du also stotterst und alles langsam ist, dann solltest du das Spiel vielleicht hier stotterst und alles langsam ist, beenden Mit diesem Code hier könnte die Leistung des gesamten Browsers langsam sein. Stellen Sie also sicher, dass Sie das Spiel dann beenden Okay. Wie oft sollten wir das wiederholen? Die Anzahl der Wiederholungen hängt von der Geschwindigkeit y ab. Wir müssen diese Strecke zurücklegen, Geschwindigkeit y. Zum Beispiel minus drei hier. Natürlich können Sie es hier nicht minus drei machen, aber wir müssen hier einen absoluten Wert angeben, und dafür gibt es einen Block. Hier können wir den absoluten Wert von Geschwindigkeit y nehmen. Oh, das war hier der falsche Block. Wir müssen das wiederholen, zehn wiederholen, und dann müssen wir das hier einstellen. Was ist absolut? Sie können hier auch verschiedene Funktionen wählen : mathematische Funktionen. Wenn die Geschwindigkeit y minus ist, sagen wir minus drei, das drei, und wenn die Geschwindigkeit drei ist, dann ist dies auch drei. Es geht darum, dieses Minus loszuwerden, wenn es eins gibt , weil wir diese Schleife natürlich nicht wiederholen können , minus dreimal, aber wir müssen es dreimal wiederholen. Was müssen wir also in dieser Schleife tun? Wir gehen also Schritt für Schritt in Richtung der Geschwindigkeit y und müssen hier überprüfen, ob Geschwindigkeit y über Null oder unter Null ist. Also nehmen wir das wenn dann und den Operator größer als. Und dann verdoppeln wir hier die Geschwindigkeit. Wenn Geschwindigkeit y größer als Null ist, dann machen wir etwas, oder wenn wir hier etwas anderes machen, duplizieren wir diese und dann niedriger, wenn Geschwindigkeit y unter Null ist, also das ist diese Okay. Also wenn Geschwindigkeit Y unter Null ist, dann machen wir etwas anderes. Und was machen wir? Wir ändern y um eins. Wenn es also über Null ist, dann ändern wir es um eins, wenn es unter Null ist, dann ändern wir es um minus eins. Und wenn es Null ist, ändern wir y überhaupt nicht. Okay. Also das geht in die richtige Richtung und mit der richtigen Anzahl von Schritten hier. Das sollte also funktionieren. Wir sind dieses Jahr losgeworden, also funktioniert es nicht. Also die Katze fällt gerade durch . Kein Problem. Das liegt daran, dass wir es hier nicht korrigieren. Also bewegen wir uns hier einfach in die richtige Richtung. Aber wir müssen auch dieses Jahr loswerden, also ändern wir Y durch Geschwindigkeit Y. Das ist also doppelt so viel. Wir sollten das durch fix y ersetzen. Das gilt also nicht nur für Berührungen. Also das müssen wir loswerden wir müssen das anstelle dieser Änderung y mit Geschwindigkeit x machen. Also das können wir löschen. Lassen Sie uns das entfernen. Der Name dieses Blocks ist natürlich nicht mehr korrekt, also können wir ihn ändern. Füge ihn hinzu und bewege ihn dann. Wir können es vielleicht einfach Bewegung nennen. Ich denke, das ist okay und stellen sicher, dass Sie dieses Kontrollkästchen aktiviert haben, ohne Bildschirmaktualisierung ausführen. Nun, das ist Bewegung, und im Moment bewegt es sich nur in die weite Richtung, aber das ist okay, und es bewegt sich hier nicht in die Hintergrundfarbe. Das ist das Ziel. Wir müssen natürlich überprüfen, ob die Katze die Farbe berührt, und uns dann zurückziehen. Okay. Jetzt bewegen wir uns im F-Velop einfach mit der Geschwindigkeit y und wir prüfen, ob der Wert über Null oder unter Null liegt, und wir gehen hier schrittweise vor, sodass wir bei jedem Schritt überprüfen können, ob das Sprite die Farbe berührt Okay, was machen wir, wenn das die Farbe berührt? Diese Katze berührt die Farbe. Wir brauchen noch eine, wenn hier. Setzen Sie das darunter, und wenn wir dann Farbe berühren, dann sind wir natürlich zu weit gegangen und müssen ein Backup erstellen, also müssen wir zur vorherigen Y-Position gehen. Hier führen wir also eine weitere Variable ein, eine weitere lokale Variable. Lassen Sie uns also eine Variable nur für dieses Recht erstellen, und wir nennen sie den alten Pus-Wert. Das wird also der alte Pus-Wert vor dem Verschieben sein. Bevor wir hier Y ändern, müssen wir uns an das aktuelle Y erinnern. Lassen Sie uns also nicht die Schwerkraft setzen , sondern den alten Posenwert, unsere neu erstellte Variable hier, und wir setzen sie auf, gehen wir zur Bewegung, und dann hier unten haben wir diese Y-Position. Also leg das hier hin. Setze den alten Posenwert auf die Y-Position. Also wollen wir uns diese Y-Position merken , bevor wir sie ändern. Also ändern wir sie entweder um eins oder um minus eins. Und wenn wir dann spüren , dass die Katze die Farbe berührt, ist es schon zu spät. Sie berührt die Farbe. Das wollen wir nicht, also kehren wir hier zur alten Position zurück. Also setzen wir y in diesem Fall auf die alte Position. R Das ist also der Rückzieher. Wir haben also gemerkt, dass wir die Farbe berühren, und dann setzen wir sie auf den alten Wert zurück, den wir hier zu Beginn der Wiederholungsschleife eingestellt haben . Okay? Und es gibt noch andere Dinge, die wir tun müssen. Wir müssen Satzspringen und wir müssen hier die Kostüme wechseln. Also das Satzspringen auf Null, weil wir nicht mehr springen, weil wir auf etwas treffen, wir treffen auf die Plattform oder den Boden und wir tauschen das Kostüm gegen die stehende Katze aus. Also lasst uns versuchen, ob das funktioniert, ob es wirklich funktioniert, und lasst uns all diese Variablen hier loswerden. Also verstecke alles hier und lass uns sehen, ob das funktioniert. Okay, soweit es funktioniert, scheint es zu funktionieren. Und die Bewegung in horizontaler Richtung funktioniert natürlich immer noch , weil wir sie nicht geändert haben. Und jetzt schauen wir mal, ob wir gegen diese Plattform springen können. Oh, wir stecken fest. Also funktioniert es nicht vollständig. Die Katze steckt hier fest. Warum ist das so? Weil wir Geschwindigkeit Y nicht auf Null gesetzt haben. Das haben wir also schon hier. Also setzen wir das hier ein, wenn wir Farbe berühren, dann müssen wir die Geschwindigkeit y auf Null setzen. Dann bewegt sich die Katze nicht mehr und sie wird einfach hinfallen. Lass uns das versuchen. Das ist besser und das scheint sehr gut zu funktionieren. Die Katze kann jetzt sehr hoch springen, aber ich denke, das ist okay. Wir können das hier immer mit der eingestellten Geschwindigkeit y auf 12 einstellen, und wir können sie vielleicht auf 11 einstellen. Lass uns das überprüfen. Das ist auch okay. Aber es gibt immer noch ein Problem. Also lass uns sehen, ob wir hier springen können. Also kann die Katze hier drüben festsitzen. Sie können es sehen, weil dies durch die horizontale Bewegung verursacht wird. Wir müssen uns hier also auch um die horizontale Bewegung kümmern . Wir müssen diese Änderung x durch Geschwindigkeit x mit derselben oder einer ähnlichen Logik wie in diesem Jahr ersetzen . Also müssen wir das Ganze auch für das x für Geschwindigkeit x und die x-Richtung machen. 60. 60 Horizontale Bewegungskorrektur: Jetzt kümmern wir uns hier um die X-Bewegung, also funktioniert die Y-Bewegung bereits. Kopieren wir einfach diese Wiederholungsschleife hierher, indem wir sie mit der rechten Maustaste anklicken, und platzieren wir sie hier direkt unter der ersten Jetzt ersetzen wir einfach alles, was mit y zu tun hat, durch x. Geschwindigkeit y muss Geschwindigkeit x sein. Geschwindigkeit y muss Geschwindigkeit x sein. Lassen Sie uns das hier machen, ist Geschwindigkeit x, und wir ändern hier jedes Vorkommen Wir löschen diese Geschwindigkeit y hier. Geschwindigkeit x, Geschwindigkeit x und hier auch Geschwindigkeit x, und hier müssen wir Geschwindigkeit x statt Geschwindigkeit y einstellen. Okay, hier müssen wir x einstellen. Gehen Sie zu Bewegungssatz X zwei alte Position. Wir können löschen, klicken Sie hier mit der rechten Maustaste auf diesen Block und löschen den Block. Wir löschen hier nur diesen einen Block, setzen nur y. Also das ist jetzt weg. Geschwindigkeit x20 einstellen. Das haben wir gemacht Ändere y, ändere y, das müssen wir auch ändern, also ändere x und ändere x. Zuerst ändere x um minus eins ist das zweite und hier um eins, und jetzt können wir das hier löschen. Aber das drin und auch das. Natürlich muss das hier die X-Position sein. Das ist also hier unten. Setzt den alten Pausenwert. Wir können diese Variable hier wiederverwenden, es ist also kein Problem, sie hier zu verwenden da wir sie immer hier am Anfang der Schleife setzen . Setze den alten Pausenwert zwei, x-Position, Geschwindigkeit x größer als Null, ändere x um eins, Geschwindigkeit x kleiner als Null, ändere x um minus eins. Das sollte okay sein. Okay. Lass uns das versuchen. Scheint zu funktionieren. Aber noch ein Problem, es ist ein bisschen schnell, weil wir dieses Jahr gegangen sind, ändern wir x mit Geschwindigkeit x. Das müssen wir löschen. Also lösche hier und lass es uns jetzt versuchen. Okay, das scheint zu funktionieren, und versuchen wir, die Plattform hier von der Seite anzugreifen. So sehen wir hier also ein Problem. Also sitzen wir hier mit unserer Katze mit den Schnurrhaaren fest. Also das ist etwas, das wir angehen müssen, aber nicht jetzt. Im Moment können wir feststellen, dass wir nicht auf die Plattform zugreifen können. Aber wir können hier am Rande feststecken. Aber zum Glück können wir das umgehen, indem wir dann springen, und Springen wird uns davon befreien, hier festzustecken. Sie können auch sehen, dass unsere Katze nicht symmetrisch ist. Der Schwanz ist etwas weiter zur Seite. Wenn wir die Katze umdrehen, haben wir hier eine Kollision, dann haben wir eine Berührung, und das ist ein Problem, und das müssen wir reparieren, und das werden wir mit Kollisionsboxen beheben. Aber im Moment funktioniert die Bewegung. Sie ist verbessert. Wir können also nicht von unten auf die Plattform treffen und auch nicht direkt, zumindest hier von der Seite. Aber wir können hier immer noch stecken bleiben, und das ist ein Problem, das wir lösen müssen, und das werden wir im nächsten Video tun. 61. 61 Triff die Box, nicht die Katze: Also habe ich im letzten Video schon angedeutet, was wir unserer Kollisionserkennung tun können, um sie zu verbessern Und ich möchte Ihnen noch einmal das Problem zeigen, das wir haben. Wenn ich also hier auf die Plattform springe, können Sie sehen, dass wir hier mit unseren Köpfen stecken bleiben können, zum Beispiel mit einem Katzenkopf. Also das ist hier ein Problem. Wir können immer noch stecken bleiben, und auch mit einem Schwanz hier, weil das Kostüm umgedreht ist oder die Katze umgedreht ist Und dann, nach dem Umdrehen, ist der Schwanz hier auf dieser Plattform Es berührt also diese bestimmte Farbe, und du kannst die Katze nicht nach draußen bewegen, außer das, was funktioniert als würde ich hier in dieser Position springen, dann funktioniert das wieder, aber wir können dieses Problem ganz einfach lösen Und das machen wir mit Hilfe von Kollisionsboxen oder Hitboxen. Nennen wir es Hitbox, und was ist eine Hitbox In unserem Fall ist eine Hitbox ein anderes Kostüm, also müssen wir hier ein anderes Kostüm kreieren. Lassen Sie uns den ersten veröffentlichen. Und jetzt haben wir ein Kostüm , das der Hit sein wird. Nennen wir es hier also Hitbox. Okay. Also jetzt haben wir die Kiste nicht. Also machen wir eine Kiste mit diesem Werkzeug hier, mit einem rechteckigen Werkzeug, wir ziehen eine Kiste hierher, irgendwo hier, vielleicht, und dann legen wir sie hinten rein. Drücken Sie also hier nach hinten, und jetzt ist die Katze über der Kiste. Okay, was ist der Zweck dieser Hitbox? Lassen Sie uns zuerst die Gliederung loswerden, also klicken Sie hier, und wir haben die Gliederung nicht. Okay, das ist nicht so wichtig, aber ich hätte es lieber so. Also, was ist der Zweck der Hitbox? Die Hitbox sollte für den Hittest verwendet werden? In unserem Fall ist es diese berührende Farbe. In diesem Feld werden die Berührungsfarbe, die Farbe des Bodenhintergrunds und die Hindernisse hier und auf den Plattformen getestet die Farbe des Bodenhintergrunds . Dabei handelt es sich um das Feld, bei dem die Kollision oder die Farbberührung getestet wird. Das bedeutet, dass wir die Katze hier natürlich loswerden müssen. Aber zuerst passen wir die Box hier ein wenig an. Zuerst sollte es zentriert sein. Ziehe es hier in die Mitte und es sollte in das Kreuz hier mit dem Kreis einrasten. Wenn du es zentriert hast, passe hier einfach die Größe an. Also leg das direkt unter die letzte Zeile, vielleicht an den Füßen der Katze. Und dann hier, wir müssen es auch irgendwo hier hinstellen. Also überall, wo die Katze den Boden berührt, sollte auch die Hitbox sein. Und hier müssen wir es vielleicht holen bis es hier die Ohren erreicht, also so etwas. Also ich denke, wir können damit leben. Wir können es später ein bisschen testen oder es später ein bisschen anpassen. Aber jetzt lasst uns die Katze hier loswerden. Wählen Sie also alle Teile der Katze aus und löschen Sie sie. Wir brauchen sie hier nicht. Das ist also unsere Hitbox, und lassen Sie uns das Kostüm hierher bringen, vielleicht bis zum Ende. Es ist nicht so wichtig, aber ich hätte lieber zuerst die beiden Animationsframes hier und dann die Hitbox. Okay, jetzt haben wir eine Hitbox für unsere Katze, und jetzt müssen wir sie benutzen. Was ist die Idee dafür? Dieser berührende Farbtest hier ist also wichtig. Um festzustellen, ob die Katze die Farbe, den Hintergrund, den Boden oder die Plattform berührt . Wir müssen also zu diesem Hitbox-Kostüm wechseln , bevor wir den Test machen, und das wird zu Beginn dieses definierten Zuges sein. Also lasst uns zu unserem Hit-Box-Kostüm wechseln, Kostüm zu Hit-Box wechseln. Und dann müssen wir am Ende natürlich wieder zurückschalten. Gehen wir also zurück zu, sagen wir, zu Kostüm eins. Okay, wir haben dieses Hüpfgestell hier nicht mehr, dieses Springkostüm mehr, aber das werden wir später reparieren. Okay, was wir jetzt haben ist, bevor wir den Treffertest, den Kollisionstest, diesen berührenden Farbtest machen , wechseln wir zu unserer Trefferbox. Und dann machen wir diesen Treffertest, diesen Kollisions- oder Berührungstest mit dieser Trefferbox und nicht mit einem Katzensprite Zumindest nicht mit einem Katzenkostüm. Und dann, am Ende dieser Funktion dieses benutzerdefinierten Blocks, wechseln wir hier wieder zum normalen Katzenkostüm . Was bedeutet das? Das bedeutet, dass der Spieler hier keine Trefferbox sehen wird, weil das alles ohne Bildschirmaktualisierung gemacht wurde, sodass der Spieler dieses Hitbox-Kostüm nicht sehen kann, was gut ist, weil wir nicht wollen, dass der Spieler die Trefferbox sieht, weil sie hässlich ist und es keine Katze ist. Versuchen wir also, ob sich dadurch schon etwas ändert . Hier haben wir unsere Katze. Lass uns ein bisschen springen und wir können sofort sehen, dass wir nicht mehr feststecken. Außerdem bleibt der Schwanz nicht hängen und hier scheint alles in Ordnung zu sein. Außerdem, wenn wir an den Rand dieser Plattform gehen, sehen wir, dass wir sofort herunterfallen, sobald dieses Bein hier die Plattform verlässt. Also noch eins und dann fällt es runter. Also schauen wir uns das mal ein bisschen auf einem größeren Bildschirm an. Lass uns das nochmal sehen. Sobald dieses Bein von der Plattform fällt, fällt die Katze, was sehr nett ist. Und das liegt natürlich daran, dass wir unsere Hitbox zum Testen haben und nicht mehr das Katzenkostüm. Es wird also zum Beispiel nicht für diesen Schwanz getestet oder für alles, was außerhalb unserer Hitbox liegt. Hier gibt es also immer noch ein Problem. Wir müssen diesen Wechsel von Kostüm zu Kostüm 1 loswerden , weil wir dann unser Hitbox-Kostüm nicht haben werden, und wir brauchen das Hitbox-Kostüm in diesem Kostümblock hier, und erst am Ende können wir wieder zum Originalkostüm wechseln, können wir wieder zum Originalkostüm wechseln zum Katzenkostüm. Also müssen wir dieses Jahr und dieses Jahr durch etwas anderes ersetzen . wir uns also zuerst daran, welches Kostüm wir am Anfang hatten. Dafür brauchen wir also eine Variable, machen Sie eine Variable für das alte Kostüm nur für Sprites Und wir setzen es hier an den Anfang unseres benutzerdefinierten Blocks. Stellen Sie das alte Kostüm ein und wie kommen wir an das aktuelle Kostüm? Wir bekommen es von hier, die Kostümnummer ist nicht das, was wir wollen. Wir wollen den Namen des Kostüms. Das alte Kostüm wird also auf den aktuellen Kostümnamen gesetzt. Und dann müssen wir es am Ende auf diesen Kostümnamen zurücksetzen. Also zieh das her, setz Kostüm an Kostüm. O ist hier nicht die richtige Wahl, sondern ein altes Kostüm. Also hier stellen wir es auf Hit-Box und am Ende wird es wieder auf das alte Kostüm zurückgesetzt. Und jetzt für diese beiden Orte hier müssen wir das auf ein Set umstellen: altes Kostüm, zwei, und dann Kostüm, eins. Das macht also dasselbe wie Kostüm zu Kostüm eins wechseln, aber am Ende, also hier wird es Kostüm eins sein und nicht mehr das alte Kostüm. Wir können das also verdoppeln und das auch hier machen, anstatt dieses Wechselkostüm Okay. Jetzt erinnern wir uns, welches Kostüm die Katze am Anfang hatte, und dann setzen wir es hier am Ende Diese beiden Orte können aber auch das alte Kostüm oder das Kostüm, auf das es zurückgesetzt wurde, ändern das alte Kostüm oder das Kostüm, auf das es zurückgesetzt Also lass es uns hier testen. Wenn es immer noch funktioniert, sollte es keinen großen Unterschied machen. Aber jetzt sollte der Hittest immer mit der Hitbox funktionieren und nicht mehr mit einem Katzenkostüm. Man kann also sehen, dass das gut funktioniert und die Katze herunterfällt und der Schwanz zum Beispiel durch die Plattform geht, was sehr nett ist. So können wir die Trefferbox ein wenig ändern , damit wir sehen können, wie das funktioniert. Gehen Sie also zur Hitbox und machen Sie sie viel kleiner. Also vielleicht so etwas. Und dann starten wir ein Spiel und wir sehen, dass die Katze im Boden versinkt Wir können es immer noch bewegen, aber es ist im Boden. Wenigstens ist das Kostüm, das Katzenkostüm, im Boden, aber die Trefferbox hier ist es nicht. Und natürlich ist es keine gute Idee, das so zu machen, weil die Katze auf ihren Füßen stehen muss und nicht im Boden, also passen wir das neu an und machen die Änderungen hier rückgängig Versuchen wir es noch einmal. Und jetzt berührt die Katze wirklich die Oberfläche. Okay, das ist also der Hit-Box-Trick. Ich würde sagen, das ist ein sehr wichtiger Trick denn auf diese Weise können wir den Treffertest, die Kollisionserkennung, viel besser durchführen die Kollisionserkennung, viel als mit dem Katzenkostüm hier. Und der Trick besteht darin, das Kostüm auf die Trefferbox umzustellen, unsere Trefferbox, und es dann am Ende wieder zu ändern. Und alles in diesem benutzerdefinierten Block wird natürlich nicht auf den Bildschirm gerendert. Sie werden also die Trefferbox nicht sehen, aber Sie werden das Ergebnis sehen. Und das Ergebnis ist , dass der Treffertest jetzt sehr viel besser ist jetzt sehr viel besser und die Katze hier nicht stecken bleiben sollte. 62. 62 Puzzle und 2. Raum: Jetzt, wo wir die Kontrolle über den Spieler bei der Arbeit haben, schauen wir uns das nochmal an. Also können wir springen, wir können nach Kollisionen suchen und die Katze bleibt zumindest im Moment nicht hier stecken. Also das ist alles sehr nett. Ich denke, damit können wir auch beginnen. Füge ein Rätsel hinzu, um diesen Raum hier zu verlassen und in den nächsten Raum zu gehen, und um diesen Raum ein bisschen herausfordernder zu machen. Also müssen wir hier ein paar Wände hinzufügen, vielleicht eine weitere Plattform oder vielleicht zwei Plattformen hier und einen kleinen Edelstein, den die Katze einsammeln muss. Und wenn der Fang dann den Edelstein erreicht, zum Beispiel einen Stern, dann zeigt sich der Ausgang von selbst, und dann kann die Katze in den nächsten Raum gehen. Fangen wir also mit einem Hintergrund an. Also bauen wir hier Wände. Lass uns das hier kopieren. Wählen Sie hier den Pfeil und dann diese Plattform hier aus, machen Sie eine Kopie davon und wir machen eine Wand daraus. Vielleicht so etwas, und dann kopieren wir das noch einmal und legen es auf die andere Seite. Jetzt haben wir also zwei Wände und die Katzen können nicht entkommen. Und wir haben diese eine Plattform, wir machen wieder eine Kopie. Machen Sie es hier vielleicht ein bisschen kleiner, legen Sie es hierher und dann machen wir wieder eine Kopie, wo der Stern sein wird. Ich glaube, wir haben es jetzt. Also müssen wir natürlich überprüfen, ob die Katze alle Plattformen hier erreichen kann, also denke ich, dass das möglich sein sollte. Und hier sehen wir das Problem , dass die Katze nicht höher springen kann. Also vielleicht sollten wir das hier etwas weiter nach unten legen , tiefer legen und das Ganze hier vielleicht weit springen lassen. Jetzt, jetzt fällt die Katze hier auf die Plattform. Das ist nicht gut, also mach es ein bisschen kleiner. Und jetzt fällt die Katze zur Seite. Und lassen Sie uns prüfen, ob das vernünftig ist. Ja, ich denke, es ist sehr einfach, aber es ist okay. Damit können wir leben. Und natürlich brauchen wir jetzt den Stern, den Edelstein, den die Katze einsammeln muss. Also machen wir hier noch einen Sprite. Suche nach einem Stern. Klicken Sie darauf und jetzt haben wir den Stern. Er ist ein bisschen zu groß, also mach es auf 40%, und das ist die richtige Größe, denke ich. Also lass es uns irgendwo hier drüben positionieren und schauen, wie die Katze damit umgehen kann. Also das ist einfach. Das ist einfach, also das. Und jetzt könnten wir es abholen. Okay. Also müssen wir jetzt überprüfen, ob die Katze diesen Stern hier berührt. Und die Idee ist, dass, wenn sie den Stern hier wirklich sammelt, hier die Tür offen oder erscheint, sodass die Katze herauskommen kann. Also lass uns noch einen Sprite malen. Also können wir das Rechteck hier machen. So etwas ist natürlich viel zu groß. Also lass es uns kleiner machen, etwa 20. Ja, das sollte okay sein. Aber wir können es nicht in dieser Farbe machen , weil es eine Durchgangsfarbe sein muss , damit die Katzenpistole durch die Tür zum nächsten Raum gehen kann. Machen wir also eine bräunliche Farbe. So etwas in der Art. Ich denke, das ist okay. Und jetzt positionieren wir es. Also lass uns das hierher verschieben. Ja, ich denke, das ist okay. Lass uns einen Blick auf eine große Leinwand werfen. Nein. Das ist nicht okay, weil wir hier grüne Farbe haben. Trotzdem müssen wir es ein wenig nach links verschieben. Also lass uns nochmal nachschauen, nein, trotzdem. Also vielleicht so etwas. Ja. Machen wir es auch ein bisschen kleiner. Lass uns nochmal nachschauen. Ja, ich denke, das sollte funktionieren. Okay. Also schauen wir mal, ob die Katze durch den Laden laufen kann. Ja, ich arbeite. Ja, ich glaube, ich habe versehentlich diese Tür hierher verschoben. Lass es uns zurücklegen. Okay. Lass uns nochmal nachschauen. Wenn die Katze die Tür passieren kann. Ja. Ja, es ist okay. Jetzt muss die Tür natürlich versteckt werden, wenn das Spiel beginnt. Also lass uns das hier platzieren, wenn auf Lag geklickt wurde und dann verstecken. Also, wenn wir ein Spiel starten, ist die Tür nicht da. Also muss es aufgedeckt werden, indem du diesen Stern hier einsammelst. Okay, also wie überprüfen wir hier, ob die Katze mit dem Stern kollidiert? Das ist einfach. Das haben wir schon für immer. Unsere Spielrunde, und hier können wir nach der Kollision suchen. Also lass uns hier ein ob herausfinden. Und wir müssen Berührung spüren, nicht den Mauszeiger berühren, sondern ein anderes Wesen berühren, und das wird natürlich Sr sein Also, wenn die Katze den Stern berührt, was dann? Dann müssen wir diesen Geist hier enthüllen. Wir können es in Tür umbenennen, und wir müssen die Tür freilegen. Und wie können wir das tun? Wir können natürlich mit anderen Sprites kommunizieren , indem wir Nachrichten senden Also gehen wir zu Veranstaltungen. Und dann, wenn ich eine Nachricht erhalte und wir sie definieren müssen, natürlich. Aber wenn ich diese neue Nachricht erhalte, kann sich die Tür von selbst zeigen. Und hier müssen wir natürlich die Nachricht senden. Also Broadcast, nennen wir es hier neue Botschaft. Nennen wir es Show Exit. Damit wir hier diesen Showausgang empfangen und die Tür zeigen können. Okay, das muss für Velop hier reinkommen. Also, wenn du den Stern berührst, dann Ausgang der Sendung und dann zeigt sich die Tür von selbst. Lass uns das überprüfen. Ich gehe hier hoch zum Stern und es funktioniert. Jetzt könnte die Katze theoretisch in den nächsten Raum gehen. Aber der Stern hier muss natürlich verschwinden, weil die Katze ihn sonst nicht einsammelt Also müssen wir hier eine weitere Nachricht an den Stern senden. Oder vielleicht können wir vorerst dieselbe Nachricht verwenden. Ich denke, das ist auch in Ordnung. Wenn also dieser Show-Exit hier ankommt, zeigen wir zuerst den Stern am Start, um alles auf den Start zurückzusetzen. Und dann können wir die Nachricht Show Exit erhalten . Und dann können wir den Stern verstecken. Okay, dann teste es. Stellen Sie sicher, dass Sie immer Ihre Logik testen. Sobald wir also etwas Neues, eine neue Nachricht oder eine neue Reaktion auf Ihre Nachricht haben , so etwas, müssen Sie es testen. Das funktioniert also. Dieser Stern ist verschwunden und die Katzen können durch die Tür gehen. Okay, nett. Also sollte der nächste Raum eine weitere Kulisse sein. Deshalb müssen wir einen zeichnen, und wir können den ersten verdoppeln und hier nur ein bisschen ändern Also zuerst brauchen wir wieder diese Tür. Also gehen wir dorthin, wählen den Pfeil hier, kopieren ihn und gehen dann zu den Hintergründen. Nochmals den zweiten Hintergrund, und fügen Sie diesen dann ein. Sie können diese Schaltfläche hier verwenden, um es einzufügen oder die Steuerung oder den Befehl V. Und natürlich müssen wir die Größe ändern Es ist viel zu groß hier. Machen wir es kleiner, kleiner, kleiner. Immer noch zu groß, vielleicht so etwas. Okay. Also lass uns das hier hinstellen. Das wird der Eintrag sein. Ich denke, das ist okay, und hier wird die Katze reinkommen. Und um in den nächsten Raum zu gehen, müssen wir natürlich die Kulisse wechseln, hier gehen wir wieder zum Code der Katze, und das können wir hier tun, wenn die Tür berührt wird, vielleicht eine andere, wenn hier, wenn dann spüren, berühren, Tür, dann können wir die Kulisse ändern, also gehen wir zu Wechseln Sie den Hintergrund und dann den zweiten Hintergrund. Und wir können das hier platzieren, wir können es hier platzieren, und dann sollte sich zumindest der Hintergrund hier ändern. Versuchen wir es noch einmal, und wir sehen, dass wir hier natürlich den Hintergrund neu einstellen müssen. Gehen wir also hier zur Bühne und wenn Schwarz geklickt hat, können wir den Hintergrund hier zwei und den Hintergrund eins wechseln Okay. Jetzt sind wir wieder im ersten Hintergrund. Wir gehen hier zum Stern und dann können wir den Raum verlassen. Und wir sind im zweiten Raum. Natürlich müssen wir die Tür hier verstecken. Nochmals, lass uns zur Tür gehen, wenn ich das nächste Zimmer erhalte. Wir haben diese Botschaft noch nicht erhalten, also müssen wir sie erstellen. Also hier senden. Wir ändern den Hintergrund, aber bevor wir eine neue Nachricht machen und diese Nachricht hier im nächsten Raum senden können eine neue Nachricht machen und diese Nachricht hier im nächsten Raum senden , damit die Tür weiß, dass sie nächsten Raum verstecken kann und sich dann verstecken kann und die Tür sollte weg sein. Testen wir es noch einmal. Und die Tür ist weg, und nur diese Tür ist da, aber das ist Teil des Hintergrunds, also können wir das nicht verstecken und müssen wir auch nicht. Für den Moment gibt es noch eine Sache. Wir müssen die Katze wieder in diese Position bringen. Also lass es uns vielleicht irgendwo hier hinstellen. x-Position ist also 208 -208, setzen wir die t-Position zwei auf -208 Gehen wir zu Bewegungssatz zwei, jetzt testen wir es. Hey, da ist der Türdurchgang und dann fangen wir hier an, was richtig ist. Wir können natürlich nicht zurück und müssen es auch nicht. Und hier gibt es dieselben Hindernisse und dieselbe Plattform. müssen wir natürlich ändern, um es hier zu einem anderen Rätsel zu machen. Aber im Moment hat das funktioniert. Also haben wir jetzt zwei Zimmer. Der erste hat dieses sehr einfache Rätsel. Die Katze muss nur den Stern holen und dann den Raum durch die Tür verlassen. Das ist es. Und der zweite Raum kann schwieriger zu lösen sein. Vielleicht liegt das an dir. Was du hier machst. Ich denke, Sie haben hier die Fähigkeit, schwierigere Rätsel zu lösen. Wir wissen also bereits, wie man mit Kollisionen mit Sprites umgeht, und auf diese Weise kann man viel tun Vielleicht musst du hier zwei Sterne einsammeln, bevor die Tür erscheint, um den Raum zu verlassen, oder du musst vielleicht auf einen Schalter oder so etwas springen , um die nächste Tür aufzudecken, etwa so Aber ich denke, wir haben eine nette, einfache, aber nette Plattform , die man erweitern kann. Und darauf kannst du aufbauen und deine eigenen Spiele damit machen. Das ist natürlich nicht perfekt. Also zum Beispiel ist die Animation der Katze nicht so nett. Und es gibt hier keine Animation , wenn du gehst oder rennst, dann ändert es nur die Richtung, aber nichts weiter. Also das ist natürlich etwas, das du hier hinzufügen kannst. Wir haben keine echte Animation mit Frame-by-Frame-Animation. Wir wechseln gerade von einem Bild zum anderen. Also ein Kostüm zum Springkostüm. Das ist es. Aber Sie haben mit dem Avis Adventure-Spiel gesehen, wie das geht, also können Sie hier dasselbe tun. Und weil wir hier diese Hitbox verwenden, also denken Sie daran, wir zu dieser Hitbox wechseln und die Treffertests durchführen, es gibt kein Problem mit den Animationskostümen. wird immer auf diese Hitbox getestet, und es spielt keine Rolle, welches Kostüm du hier hast und welche Animation du hier verwendest. Okay, das war's für dieses einfache Jump-and-Run-Spiel, diese Plattform oder dieses Spiel, und ich hoffe, du hast Spaß daran, es zu erweitern diese Plattform oder dieses Spiel, und ich hoffe, du hast Spaß daran, es zu erweitern und vielleicht mehr Level zu erstellen, mehr Rätsel, und vielleicht hast du ein paar Feinde, und die Feinde mehr Rätsel, und vielleicht hast du ein paar Feinde, und die Feinde hindern die Katze daran, alle Sterne zu sammeln, oder vielleicht kannst du auch Power-Ups verwenden, um die Katze dazu zu bringen , eine größere Sprungkraft zu verwenden, so etwas. Das ist alles in Reichweite. Ich denke, Sie haben die Werkzeuge dafür, und ich wünsche Ihnen viel Spaß dabei.