Im vorigen Tutorial haben Sie weiter an einem Projekt gearbeitet, bei dem eine Krabbe eine Katze um den Bildschirm jagt, eine Zeitbegrenzung hinzufügt und Punkte einhält.
In diesem Teil arbeiten wir weiter an diesem Projekt. Wir fügen ein Broadcast-Ereignis hinzu und verwenden es, um Skripts für andere Sprites auszulösen. Dann verstecken wir die meisten Sprites, wenn das Spiel vorbei ist, und zeigen das Endergebnis an.
Um dieses Tutorial abzuschließen, benötigen Sie:
Wir werden mit dem im vorigen Teil dieser Serie erstellten Projekt arbeiten. Wir werden die bisher erstellten Assets und Skripts verwenden und weitere hinzufügen.
Je nachdem, ob Sie an diesem Lernprogramm mitgearbeitet haben, gibt es zwei Möglichkeiten, um mit diesem Lernprogramm zu beginnen:
Alternativ können Sie einfach in demselben Projekt weiterarbeiten, das Sie bereits erstellt haben. So tun Sie jedes davon (Sie müssen nur eins tun).
Öffnen Sie Scratch und gehen Sie zu dem Projekt, das Sie duplizieren möchten. Stellen Sie sicher, dass Sie auf die Schaltfläche geklickt haben Siehe innen Schaltfläche, damit Sie die Arbeitsweise des Projekts sehen können.
Klicken Sie in der Symbolleiste auf Datei> Als Kopie speichern:
Scratch öffnet Ihre neue Kopie. Benennen Sie es um und beginnen Sie damit zu arbeiten.
Melden Sie sich bei Scratch an und rufen Sie die Seite für mein Projekt zu Daten und Variablen auf.
Drücke den Siehe innen Schaltfläche zum Anzeigen des Projekts:
Klicken Sie jetzt auf Remix Taste. Scratch speichert ein Duplikat meines Projekts als neues Projekt in Ihrem Konto. Umbenennen Sie es und Sie sind gut zu gehen!
In diesem Teil der Serie fügen Sie ein Übertragung
Nachricht an Ihr Projekt, um intern innerhalb Ihres Projekts zu kommunizieren. Sie können eine Sendung in einem Skript erstellen, wenn das Skript einen bestimmten Punkt erreicht oder eine Bedingung in Bezug auf ein Sprite erfüllt ist. Anschließend kann eines der anderen Sprites (oder der Bühne) auf die Übertragung dieser Nachricht reagieren. Dadurch werden Ihre Sprites miteinander verbunden und Sie haben mehr Spielraum, wenn Sie Benutzerinteraktionen hinzufügen möchten.
Sie werden sich daran erinnern, dass wir zuvor ein Sprite mit Text ("Autsch !!") hinzugefügt haben, das wir als Kostüm für dieses Sprite gezeichnet haben. Im Moment sitzt das Sprite unbeweglich auf der Bühne und tut nichts. Jetzt verwenden wir eine Sendung, um etwas dazu zu bringen.
Aber zuerst erstellen wir die Sendung.
Klicken Sie auf das Katzensprite und bearbeiten Sie das bereits erstellte Skript.
Öffne das Veranstaltungen Blöcke und ziehen Sie die Broadcast-Nachricht1
Blockieren Sie das Skript direkt unter dem Score um 1 ändern
Block. Klicken Sie auf die Dropdown-Liste für message1 und klicken Sie auf neue Nachricht… . Geben Sie einen Text ein, mit dem Sie Ihre Sendung definieren können. Dieser Text wird vom Benutzer nicht angezeigt, aber Sie werden ihn an anderer Stelle in Ihrem Projekt verwenden. Daher ist es sinnvoll, ihn als sinnvoll zu bezeichnen. Ich rufe meine an erwischt.
So sieht das Skript der Katze jetzt aus:
Jetzt können wir diese Sendung verwenden, um Skripts für andere Sprites auszulösen.
Bisher haben wir alle unsere Skripte mit der wenn grüne Flagge geklickt wurde
block, was bedeutet, dass das Skript beim Start des Projekts automatisch ausgeführt wird. Manchmal möchten Sie nicht, dass dies geschieht: Sie möchten, dass ein Skript nach dem Start des Projekts ausgelöst wird. Es gibt mehrere Möglichkeiten, dies zu tun: Sie können ein Skript auslösen, wenn ein Sprite oder eine Taste gedrückt wird oder wenn sich eine Variable wie die Lautstärke ändert. Die hier verwendete Methode startet ein Skript, wenn das Sprite eine Broadcast-Nachricht empfängt.
Klicken Sie auf das zuvor erstellte Text-Sprite (Sprite2). Beginnen Sie, indem Sie ihm einen besseren Namen geben (durch Klicken auf das Symbol) ich Symbol oben links und bearbeitete den Namen) -Ich rufe mein an Autsch.
Wir möchten, dass dieses Sprite die meiste Zeit unsichtbar ist und erst dann erscheint, wenn die Krabbe die Katze fängt. Wir erstellen also zwei Skripts: das erste, um das Sprite auszublenden, und das zweite, um es erscheinen zu lassen.
Erstellen Sie dieses Skript für das Sprite:
wenn grüne Flagge geklickt wurde
verbergen
Sie finden das verbergen
Block in der Sieht aus Blöcke. Das verbirgt das Sprite: Wenn Sie nun das Projekt starten, wird es verschwinden.
Erstellen Sie nun ein zweites Skript für das Autsch-Sprite:
wenn ich erwischt werde
geh zur Katze
Show
Warten Sie 0,5 Sekunden
verbergen
Das erste Sprite findest du im Veranstaltungen Blöcke, die gehe zu
Block in der Bewegung Blöcke, die warten
Block in der Steuerung Abschnitt und die Show
und verbergen
Blöcke in Sieht aus.
Wenn Ihre Projekte länger und komplexer werden, möchten Sie möglicherweise dem Benutzer das Gefühl vermitteln, durch ein Spiel oder eine Animation voranschreiten zu können, indem Sie den Hintergrund ändern. Hier machen wir das, wenn der Timer abgelaufen ist und das Spiel beendet ist.
Dafür müssen wir:
Wir werden die verwenden Übertragung
Veranstaltung Blöcke und auch die Wenn der Hintergrund wechselt zu
Ereignisblock. Beginnen wir mit dem Erstellen dieser Sendung.
Wähle aus Bühne und fügen Sie ein Übertragung
blockieren Sie bis zum Ende des Skripts und ersetzen Sie das Stoppen Sie alle
Block. Ich rufe diese Sendung an Spiel ist aus.
Erstellen Sie jetzt eine zusätzliche Kulisse für die Bühne, wie Sie sie zuvor in dieser Serie erstellt haben. Wähle aus Bühne, klicke auf das Hintergründe Registerkarte und importieren, zeichnen oder wählen Sie einen Hintergrund aus der Bibliothek. Ich wähle das aus Kreise Kulisse aus der Bibliothek.
Die neue Kulisse wird jetzt angezeigt, und Ihre ursprüngliche Kulisse verschwindet - keine Panik! Das Original wird angezeigt, wenn das Projekt gestartet wird, und das neue, wenn das Spiel beendet ist.
Inzwischen können Sie wahrscheinlich herausfinden, wie der erste Hintergrund angezeigt wird, wenn das Projekt gestartet wird. Ziehen Sie einfach die Hintergrund wechseln zu
Block von der Sieht aus blockiert das Skript für die Bühne, direkt unter der wenn grüne Flagge geklickt wurde
Block und über dem setze Score auf 0
Block. Wählen Sie in der Dropdown-Box in diesem Block Strand Malibu.
Wenn Sie nun das Projekt ausführen, wechselt der Hintergrund wieder zu dem, mit dem Sie vertraut sind:
Um den Hintergrund nach Ende des Spiels zu ändern, erstellen Sie ein neues Skript für die Bühne:
wenn ich erwischt werde
Hintergrund zu Kreisen wechseln
Ihre Bühne hat jetzt zwei Skripte:
Wenn Sie jetzt Ihr Projekt ausführen, ändert sich der Hintergrund, wenn das Spiel endet. Das Spiel wird jedoch nicht beendet. Lass uns das reparieren.
Wenn das Spiel endet, möchten wir, dass die Krabben-, Seestern- und Autsch-Sprites verschwinden. Deshalb müssen wir für jeden dieser Spite ein identisches Skript erstellen, das durch die Übertragung ausgelöst wird. Die gute Nachricht ist, dass Sie das Skript einmal erstellen und dann in jedes der Sprites kopieren können.
Beginnen Sie mit dem Krabben-Sprite. Erstellen Sie dieses Skript dafür:
wenn ich das Spiel beendet habe
verbergen
Kopieren Sie dieses Skript nun in jedes der Auties und Seestern-Sprites, indem Sie das Skript aus dem Ordner ziehen Skripte Scheibe für das Krabbensprite auf jedes der Sprites unterhalb der Hauptstufe.
Wenn Sie jetzt das Spiel spielen, werden Ihre Sprites verschwinden, wenn das Spiel endet. Sie werden jedoch nicht wieder angezeigt, wenn Sie das Spiel erneut spielen. Sie müssen also beim Start des Projekts angezeigt werden.
Fügen Sie für jedes der Krabben- und Seesterngeister ein Show
Blockieren Sie das Skript, das mit beginnt wenn grüne Flagge geklickt wurde
, gleich am Anfang. Tun Sie dies nicht für das Autschige Sprite, da dies nur erscheint, wenn sich die Krabbe und die Katze berühren. Das Krabben-Sprite zum Beispiel sieht jetzt so aus:
Wenn Sie jetzt das Spiel spielen, erscheinen die Sprites am Anfang und verschwinden am Ende. Das einzige, was jetzt nicht funktioniert, ist das Katzensprite, das sich immer noch bewegt. Wir möchten nicht, dass es das tut, also bearbeiten wir das vorhandene Skript für die Katze.
Die Katze hat derzeit eine für immer
Block, der seine Bewegung und die Partitur steuert. Ersetzen Sie das für immer
Block mit einem wiederhole bis
Vergewissern Sie sich, dass alle Blöcke immer noch im wiederhole bis
Block, der sich im Inneren befand für immer
Block. Sie können es einfacher finden, die für immer
Block weg vom Skript auf der Skripte ziehen Sie die wiederhole bis
Block in Position und ziehen Sie die Blöcke aus dem für immer
block in der wiederhole bis
Block. Dann löschen Sie die für immer
Block.
Im Raum in der wiederhole bis
Block, können wir keine verwenden wenn ich erhalte
blockieren, da sie dazu gedacht sind, Skripte zu starten. Stattdessen verwenden wir einen Operator. Zieh den =
Block in diesen Raum ziehen, ziehen Sie die Timer
Variable zum ersten Leerzeichen und Typ 0 im zweiten Raum liest sich also der Block Wiederholen bis Timer = 0
.
Nun führe das Spiel aus und wenn die Zeit vorbei ist, ist die Katze immer noch sichtbar, aber immer noch.
Lassen Sie uns die Katze dem Benutzer ihre Punktzahl mitteilen. Erstellen Sie ein neues Skript für das Katzensprite wie folgt:
Wenn der Hintergrund zu Kreisen wechselt
sagen Sie mitmachen Sie haben Punkte erzielt
Das Erstellen dieses zweiten Blocks ist etwas kompliziert. Sie müssen die ziehen sag Hallo!
Blockieren Sie das Skript, und ziehen Sie dann die Beitreten
blockieren aus Betreiber in den Raum, wo es heißt Hallo! Geben Sie dann im ersten Feld im Verknüpfungsblock "Sie haben punkten" ein und ziehen Sie das Ergebnis
variabel zum zweiten Raum. Stellen Sie sicher, dass Sie ein Leerzeichen am Ende Ihres Textes hinzufügen. Das Skript wird so aussehen:
Nun, wenn Sie das Spiel ausführen, wird die Katze am Ende alleine erscheinen und Ihnen Ihre Punktzahl mitteilen.
Durch das Hinzufügen von Ereignissen zu Ihren Projekten können Sie während des Projektverlaufs Ereignisse ausführen, als Reaktion auf Benutzereingaben, das Erreichen eines bestimmten Punktes durch Skripts oder den Wert einer variablen Variable. In diesem Lernprogramm haben Sie gelernt, wie Sie mithilfe von Ereignissen den Hintergrund ändern können, wenn der Timer auf null heruntergezählt wird, und die Bewertung des Benutzers anzeigen.
Wenn Sie Lust auf eine Herausforderung haben, können Sie dem von Ihnen erstellten Sprite einige Operatoren hinzufügen, die dem Benutzer die Punktzahl mitteilen. Vielleicht könnten Sie eine verwenden ob
blockieren, um den Wert von zu ermitteln Ergebnis
wertvoll und lassen Sie die Katze sagen: "Gut gemacht!" wenn der Benutzer mehr als einen bestimmten Wert erzielt, oder "beim nächsten Mal mehr Glück!" wenn sie eine niedrige Punktzahl haben.
Im nächsten Teil dieser Serie werden animierte Effekte mit Hintergründen erstellt. Wir werden die doppelten Kulissen verwenden, die wir gleich zu Beginn der Serie erstellt haben, um einen Zoom-Effekt zu erzeugen.