MakeCode Arcade Tutorial 9: Interagiere mit einem NPC

MakeCode Arcade Tutorial 9: Interagiere mit einem NPC

🔸 Ziel: Wenn der Spieler vor dem NPC steht, soll dieser durch Drücken der A-Taste ansprechbar werden.

🧠 Was soll genau passieren?
Stell dir vor: Dein Spieler steht vor dem NPC, schaut ihn an und drückt A → Der NPC spricht ihn an.
Aber: Wie erkennt das Spiel, ob der Spieler wirklich direkt vor dem NPC steht

🧩 Deine Aufgabe:
Baue ein System mit einer unsichtbaren Interaktionsbox, die größer ist als der Spieler (20 x 20 Pixel) und diesem überall hin folgt. Wenn diese Box dann den NPC „überlappt“ und die A-Taste gedrückt wird, darf gesprochen werden – sonst nicht.


🧠 Überlege zuerst:

  • Was muss die Box können?
    • Unsichtbar sein
    • Die Position ändern – die Box muss dem Spieler über das Spielfeld folgen. Finde dafür den passenden Block
    • Überprüfen, ob sie mit dem NPC überlappt

🔧 Baue dein System Schritt für Schritt auf (du wählst den Weg):

🔹 1. Erstelle die Interaktionsbox:

  • Erstelle in Assets einen neuen Block.
  • Der Sprite soll 20 x 20 Pixel groß sein. Fülle die Fläche mit einer Farbe. Dieser farbige Block ist der Sprite bzw. deine (später) unsichtbare Interaktionsbox
  • Gib der Box einen neuen Sprite-Typ, z. B. Interaction.

🔹 2. Lass die Box dem Spieler folgen:

  • Finde einen Weg, wie sie immer an der Stelle vor dem Spieler ist.
  • Je nach Richtung (oben, unten, links, rechts) soll sie:

💬 Frage dich:
Woher weißt du, in welche Richtung der Spieler zuletzt gelaufen ist?

💡 Tipp: Du brauchst den jeweiligen x- und y- Wert der Spielfigur


🔹 3. Prüfe auf Überlappung:

  • Nutze einen Block mit dem Signalwort „überlappt“
  • Wenn das passiert und gleichzeitig A gedrückt wird → dann darf gesprochen werden.

💡 Tipp:

  • Du brauchst eine Bedingung, die zwei Dinge gleichzeitig prüft:
    → 1. Die Interaktionsbox ist in Kontakt mit dem NPC
    → 2. Die A-Taste wurde gedrückt
  • Überlege, ob du beides in einem eigenen „Prüfe-Block““ regelmäßig abfragen möchtest oder ob du zwei unterschiedliche Blöcke brauchst

🧪 Teste und verbessere:

  • Funktioniert das System in alle Richtungen?
  • Wird der Dialog nur ausgelöst, wenn du wirklich davorstehst?
  • Was passiert, wenn zwei NPCs nah beieinanderstehen?

🎯 Extra-Herausforderung:

  • Lass den NPC je nach Richtung unterschiedlich reagieren:
    → Von hinten sagt er vielleicht: „Hey, nicht so anschleichen!“
    → Von vorn: „Hallo, wie kann ich helfen?“