2.17 SPIEL - Angeln

Hier spielen wir ein Angelspiel mit einem Knopf.

Wenn das Skript läuft, schwimmen die Fische links und rechts auf der Bühne, und du musst den Knopf drücken, wenn der Fisch fast nahe am Haken ist (es wird empfohlen, ihn länger zu drücken), um den Fisch zu fangen, und die Anzahl der gefangenen Fische wird automatisch aufgezeichnet.

../_images/18_fish.png

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+

ESP32 Starter Kit

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

KOMPONENTENBESCHREIBUNG

KAUF-LINK

ESP32 WROOM 32E

BUY

ESP32-Kameraerweiterung

-

Steckbrett

BUY

Überbrückungsdrähte

BUY

Widerstand

BUY

Taste

BUY

Schaltung Aufbauen

Der Knopf ist ein 4-poliges Gerät, da Pin 1 mit Pin 2 verbunden ist und Pin 3 mit Pin 4, wenn der Knopf gedrückt wird, sind die 4 Pins verbunden, wodurch der Stromkreis geschlossen wird.

../_images/5_buttonc.png

Bauen Sie die Schaltung gemäß dem folgenden Diagramm auf.

  • Verbinden Sie einen der Pins auf der linken Seite des Knopfes mit Pin14, der mit einem Pull-Down-Widerstand und einem 0,1uF (104) Kondensator verbunden ist (um Schwankungen zu eliminieren und ein stabiles Level auszugeben, wenn der Knopf betätigt wird).

  • Verbinden Sie das andere Ende des Widerstands und des Kondensators mit GND, und einen der Pins auf der rechten Seite des Knopfes mit 5V.

../_images/6_doorbel_bb.png

Programmierung

Wir müssen zuerst einen Underwater-Hintergrund auswählen, dann ein Fish-Sprite hinzufügen und es auf der Bühne hin und her schwimmen lassen. Dann zeichne ein Fishhook-Sprite und steuere es mit einem Knopf, um mit dem Angeln zu beginnen. Wenn das Fish-Sprite im gehakten Zustand (wird rot) den Fishhook-Sprite berührt, wird es gehakt.

1. Hintergrund hinzufügen

Verwende den Button Choose a Backdrop, um einen Underwater-Hintergrund hinzuzufügen.

../_images/18_under.png

2. Angelhaken-Sprite

Das Fishhook-Sprite bleibt normalerweise unter Wasser im gelben Zustand; wenn der Knopf gedrückt wird, befindet es sich im Angelzustand (rot) und bewegt sich über der Bühne.

Da es kein Fishhook-Sprite in Pictoblox gibt, können wir das Glow-J-Sprite so modifizieren, dass es wie ein Angelhaken aussieht.

  • Füge das Glow-J-Sprite über Choose a Sprite hinzu.

../_images/18_hook.png
  • Gehe nun zur Costumes-Seite des Glow-J-Sprites, wähle Cyans Füllung auf dem Bildschirm aus und entferne sie. Ändere dann die J-Farbe in Rot und verringere auch seine Breite. Der wichtigste Punkt ist, dass du den oberen Teil genau am Mittelpunkt haben musst.

../_images/18_hook1.png
  • Verwende das Line tool, um eine Linie so lang wie möglich vom Mittelpunkt nach oben zu zeichnen (Linie außerhalb der Bühne). Jetzt, wo das Sprite gezeichnet ist, setze den Sprite-Namen auf Fishhook und verschiebe es an die richtige Position.

../_images/18_hook2.png
  • Wenn die grüne Flagge angeklickt wird, setze den Farbeffekt des Sprites auf 30 (Gelb) und setze seine Anfangsposition.

../_images/18_hook3.png
  • Wenn der Knopf gedrückt wird, setze den Farbeffekt auf 0 (Rot, Angelzustand beginnen), warte 0,1 und bewege dann das Fishhook-Sprite an die Oberseite der Bühne. Lasse den Knopf los und lass den Fishhook an seine Anfangsposition zurückkehren.

../_images/18_hook4.png

3. Fisch-Sprite

Das zu erreichende Ziel des Fish-Sprites ist es, sich links und rechts auf der Bühne zu bewegen, und wenn es auf ein Fishhook-Sprite im Angelzustand trifft, schrumpft es, bewegt sich an eine bestimmte Position und verschwindet dann, woraufhin ein neuer fish-Sprite geklont wird.

  • Füge jetzt das fish-Sprite hinzu und passe seine Größe und Position an.

../_images/18_fish1.png
  • Erstelle eine Variable score, um die Anzahl der gefangenen Fische zu speichern, verstecke dieses Sprite und klone es.

../_images/18_fish2.png
  • Zeige den Klon des fish-Sprites, wechsle sein Kostüm und setze schließlich die Anfangsposition.

../_images/18_fish3.png
  • Lasse den Klon des fish-Sprites sich links und rechts bewegen und pralle zurück, wenn es den Rand berührt.

../_images/18_fish4.png
  • Das fish-Sprite (des Klons) reagiert nicht, wenn es am Fishhook-Sprite vorbeikommt; wenn es das Fishhook-Sprite im Angelzustand (wird rot) berührt, wird es gefangen, wobei die Punktzahl (Variable Punktzahl) +1 erhöht wird, und es zeigt auch eine Punktzahlanimation (schrumpft um 40%, bewegt sich schnell an die Position der Punkteanzeige und verschwindet). Gleichzeitig wird ein neuer Fisch erstellt (ein neuer Klon des Fisch-Sprites) und das Spiel geht weiter.

Bemerkung

Du musst auf den Farbbereich im [Touch color]-Block klicken und dann das Pipettenwerkzeug verwenden, um die rote Farbe des Fishhook-Sprites auf der Bühne aufzunehmen. Wenn du willkürlich eine Farbe wählst, funktioniert dieser [Touch color]-Block nicht.

../_images/18_fish5.png