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.