2.11 SPIEL - Schießen¶
Haben Sie schon einmal diese Schießspiele im Fernsehen gesehen? Je näher ein Teilnehmer mit einer Kugel am Ziel zum Bullseye schießt, desto höher ist seine Punktzahl.
Heute machen wir auch ein Schießspiel in Scratch. Im Spiel soll das Fadenkreuz so weit wie möglich zum Bullseye schießen, um eine höhere Punktzahl zu erreichen.
Klicken Sie auf die grüne Flagge, um zu starten. Verwenden Sie das Modul zur Hindernisvermeidung, um eine Kugel zu schießen.
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 |
---|---|---|
ESP32 Starter Kit |
320+ |
Sie können sie auch separat über die untenstehenden Links kaufen.
KOMPONENTENBESCHREIBUNG |
KAUF-LINK |
---|---|
- |
|
Was Sie Lernen Werden¶
Funktionsweise des Hindernisvermeidungsmoduls und der Winkelbereich
Unterschiedliche Sprites malen
Farben berühren
Schaltung Aufbauen¶
Das Hindernisvermeidungsmodul ist ein infrarotbasierter Näherungssensor mit einstellbarer Distanz, dessen Ausgang normalerweise hoch ist und bei Erkennung eines Hindernisses niedrig wird.
Bauen Sie die Schaltung gemäß dem untenstehenden Diagramm auf.
Programmierung¶
1. Das Fadenkreuz-Sprite malen
Lösche das Standard-Sprite, wähle den Sprite-Button und klicke auf Paint, es erscheint ein leeres Sprite Sprite1 und benenne es Crosshair.
Gehe zur Costumes-Seite des Crosshair-Sprites. Klicke auf das Circle-Werkzeug, entferne die Füllfarbe und stelle die Farbe und Breite der Umrandung ein.
Zeichne jetzt einen Kreis mit dem Circle-Werkzeug. Nach dem Zeichnen kannst du das Select-Werkzeug anklicken und den Kreis verschieben, sodass der ursprüngliche Punkt mit der Mitte der Leinwand ausgerichtet ist.
Verwende das Line-Werkzeug, um ein Kreuz in den Kreis zu zeichnen.
Male das Ziel-Sprite
Erstelle ein neues Sprite namens Target-Sprite.
Gehe zur Kostüme-Seite des Target-Sprites, klicke auf das Circle-Werkzeug, wähle eine Füllfarbe und entferne die Umrandung und male einen großen Kreis.
Verwende die gleiche Methode, um zusätzliche Kreise zu zeichnen, jeder mit einer anderen Farbe, und du kannst das Forward- oder Backbard-Werkzeug verwenden, um die Position der sich überlappenden Kreise zu ändern. Beachte, dass du auch das Werkzeug zum Verschieben der Kreise auswählen musst, sodass der Ursprung aller Kreise und die Mitte der Leinwand ausgerichtet sind.
3. Einen Hintergrund hinzufügen
Füge einen passenden Hintergrund hinzu, der vorzugsweise nicht zu viele Farben hat und nicht mit den Farben im Target-Sprite übereinstimmt. Hier habe ich den Wall1-Hintergrund gewählt.
4. Skript für das Fadenkreuz-Sprite
Stelle die zufällige Position und Größe des Crosshair-Sprites ein und lass es sich zufällig bewegen.
Wenn eine Hand vor das Hindernisvermeidungsmodul gehalten wird, gibt es ein niedriges Signal als Sendesignal aus.
Wenn die Nachricht shooting empfangen wird, stoppt das Sprite seine Bewegung und schrumpft langsam, um den Effekt eines abgefeuerten Geschosses zu simulieren.
Verwende den Block [Touch color ()], um die Position des Schusses zu bestimmen.
Wenn der Schuss innerhalb des gelben Kreises liegt, werden 10 Punkte vergeben.
Verwende die gleiche Methode, um die Position des abgefeuerten Geschosses zu bestimmen. Wenn es nicht auf dem Target-Sprite landet, bedeutet das, dass es außerhalb des Kreises ist.