2.13 SPIEL - Schießen

Haben Sie schon einmal diese Schießspiele im Fernsehen gesehen? Je näher ein Teilnehmer mit einer Kugel das Ziel am Bullseye trifft, desto höher ist seine Punktzahl.

Heute machen wir ebenfalls ein Schießspiel in Scratch. In diesem Spiel soll das Fadenkreuz so nah wie möglich am Bullseye schießen, um eine höhere Punktzahl zu erzielen.

Klicken Sie auf die grüne Flagge, um zu starten. Verwenden Sie das Hindernisvermeidungsmodul, um eine Kugel abzufeuern.

../_images/14_shooting.png

Was Sie lernen werden

  • Wie das Hindernisvermeidungsmodul funktioniert und welcher Winkelbereich gegeben ist

  • Verschiedene Sprites malen

  • Farben berühren

Benötigte Komponenten

Für dieses Projekt benötigen wir die folgenden Komponenten.

Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link:

Name

ARTIKEL IN DIESEM KIT

LINK

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

Sie können sie auch einzeln über die untenstehenden Links kaufen.

KOMPONENTENVORSTELLUNG

KAUF-LINK

SunFounder R3 Platine

BUY

Jumper-Kabel

BUY

Hindernisvermeidungsmodul

BUY

Schaltung aufbauen

Das Hindernisvermeidungsmodul ist ein infraroter Annäherungssensor mit einstellbarer Entfernung, dessen Ausgabe normalerweise hoch ist und auf niedrig schaltet, wenn ein Hindernis erkannt wird.

Bauen Sie die Schaltung jetzt gemäß dem untenstehenden Diagramm auf.

../_images/avoid_circuit.png

Programmierung

1. Das Fadenkreuz-Sprite malen

Löschen Sie das Standard-Sprite, wählen Sie den Sprite-Button und klicken Sie auf Paint. Ein leeres Sprite namens Sprite1 erscheint. Benennen Sie es in Crosshair um.

../_images/14_shooting0.png

Gehen Sie zur Costumes-Seite des Crosshair-Sprites. Klicken Sie auf das Circle-Werkzeug, entfernen Sie die Füllfarbe und legen Sie die Farbe und Breite der Kontur fest.

../_images/14_shooting02.png

Zeichnen Sie nun mit dem Circle-Werkzeug einen Kreis. Nach dem Zeichnen können Sie mit dem Select-Werkzeug den Kreis verschieben, sodass der Ursprungspunkt mit der Mitte der Leinwand ausgerichtet ist.

../_images/14_shooting03.png

Verwenden Sie das Line-Werkzeug, um ein Kreuz innerhalb des Kreises zu zeichnen.

../_images/14_shooting033.png

Das Ziel-Sprite malen

Erstellen Sie ein neues Sprite namens Target.

../_images/14_shooting01.png

Gehen Sie zur Kostümseite des Target-Sprites, klicken Sie auf das Circle-Werkzeug, wählen Sie eine Füllfarbe aus, entfernen Sie die Kontur und malen Sie einen großen Kreis.

../_images/14_shooting05.png

Verwenden Sie dieselbe Methode, um weitere Kreise mit jeweils unterschiedlichen Farben zu zeichnen, und Sie können die Position der überlappenden Kreise mit dem Werkzeug Forward oder Backbard ändern. Beachten Sie, dass Sie auch das Werkzeug zum Verschieben der Kreise auswählen müssen, damit der Ursprung aller Kreise und die Mitte der Leinwand ausgerichtet sind.

../_images/14_shooting04.png

3. Einen Hintergrund hinzufügen

Fügen Sie einen geeigneten Hintergrund hinzu, der vorzugsweise nicht zu viele Farben hat und nicht mit den Farben im Target-Sprite übereinstimmt. Hier habe ich den Hintergrund Wall1 gewählt.

../_images/14_shooting06.png

4. Script für das Fadenkreuz-Sprite

Legen Sie die zufällige Position und Größe des Crosshair-Sprites fest und lassen Sie es sich zufällig bewegen.

../_images/14_shooting4.png

Wenn eine Hand vor das Hindernisvermeidungsmodul gelegt wird, gibt es ein niedriges Signal als Übertragungssignal aus.

../_images/14_shooting5.png

Wenn die schießen-Nachricht empfangen wird, stoppt das Sprite seine Bewegung und schrumpft langsam, wodurch der Effekt eines abgefeuerten Geschosses simuliert wird.

../_images/14_shooting6.png

Verwenden Sie den [Touch color ()]-Block, um die Schussposition zu bestimmen.

../_images/14_shooting7.png

Wenn der Schuss innerhalb des gelben Kreises liegt, werden 10 Punkte gemeldet.

../_images/14_shooting8.png

Verwenden Sie dieselbe Methode, um die Position des abgefeuerten Geschosses zu bestimmen. Wenn es nicht auf dem Target-Sprite eingestellt ist, bedeutet dies, dass es außerhalb des Kreises liegt.

../_images/14_shooting9.png