{"id":538,"date":"2025-08-07T13:31:20","date_gmt":"2025-08-07T11:31:20","guid":{"rendered":"https:\/\/sora.fshcloud.de\/?p=538"},"modified":"2025-08-07T13:32:42","modified_gmt":"2025-08-07T11:32:42","slug":"makecode-arcade-tutorial-8-interagiere-mit-einem-npc","status":"publish","type":"post","link":"https:\/\/sora.fshcloud.de\/?p=538","title":{"rendered":"MakeCode Arcade Tutorial 9: Interagiere mit einem NPC"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-medium-font-size\">\ud83d\udd38 <strong>Ziel: Wenn der Spieler vor dem NPC steht, soll dieser durch Dr\u00fccken der A-Taste ansprechbar werden<\/strong>.<\/h2>\n\n\n\n<p>\ud83e\udde0 <strong>Was soll genau passieren?<\/strong><br>Stell dir vor: Dein Spieler steht <strong>vor dem NPC<\/strong>, schaut ihn an und dr\u00fcckt <strong>A<\/strong> \u2192 Der NPC spricht ihn an.<br>Aber: Wie erkennt das Spiel, ob der Spieler wirklich <strong>direkt<\/strong> <strong>vor dem NPC<\/strong> steht <\/p>\n\n\n\n<p>\ud83e\udde9 <strong>Deine Aufgabe:<\/strong><br>Baue ein System mit einer <strong>unsichtbaren Interaktionsbox<\/strong>, die <strong>gr\u00f6\u00dfer ist als der Spieler <\/strong>(20 x 20 Pixel) und diesem \u00fcberall hin folgt. Wenn diese Box dann den NPC \u201e\u00fcberlappt\u201c und die A-Taste gedr\u00fcckt wird, darf gesprochen werden \u2013 sonst nicht.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\udde0 <strong>\u00dcberlege zuerst:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Was muss die Box k\u00f6nnen?\n<ul class=\"wp-block-list\">\n<li>Unsichtbar sein<\/li>\n\n\n\n<li>Die Position \u00e4ndern \u2013 die Box muss dem Spieler \u00fcber das Spielfeld folgen. Finde daf\u00fcr den passenden Block<\/li>\n\n\n\n<li>\u00dcberpr\u00fcfen, ob sie mit dem NPC \u00fcberlappt<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83d\udd27 <strong>Baue dein System Schritt f\u00fcr Schritt auf (du w\u00e4hlst den Weg):<\/strong><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd39 1. Erstelle die Interaktionsbox:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Erstelle in Assets einen neuen Block.<\/li>\n\n\n\n<li>Der Sprite soll 20 x 20 Pixel gro\u00df sein. F\u00fclle die Fl\u00e4che mit einer Farbe. Dieser farbige Block ist der Sprite bzw. deine (sp\u00e4ter) unsichtbare Interaktionsbox<\/li>\n\n\n\n<li>Gib der Box einen neuen <strong>Sprite-Typ<\/strong>, z.\u202fB. <code>Interaction<\/code>.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd39 2. Lass die Box dem Spieler folgen:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Finde einen Weg, wie sie <strong>immer an der Stelle vor dem Spieler<\/strong> ist.<\/li>\n\n\n\n<li>Je nach Richtung (oben, unten, links, rechts) soll sie:<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udcac <strong>Frage dich:<\/strong><br>Woher wei\u00dft du, in welche Richtung der Spieler zuletzt gelaufen ist?<\/p>\n\n\n\n<p>\ud83d\udca1 <strong>Tipp:<\/strong> Du brauchst den jeweiligen x- und y- Wert der Spielfigur<br><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h4 class=\"wp-block-heading\">\ud83d\udd39 3. Pr\u00fcfe auf \u00dcberlappung:<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nutze einen Block mit dem Signalwort &#8222;\u00fcberlappt&#8220;<\/li>\n\n\n\n<li>Wenn das passiert <strong>und gleichzeitig A gedr\u00fcckt wird<\/strong> \u2192 dann darf gesprochen werden.<\/li>\n<\/ul>\n\n\n\n<p>\ud83d\udca1 <strong>Tipp:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Du brauchst eine <strong>Bedingung<\/strong>, die zwei Dinge gleichzeitig pr\u00fcft:<br>\u2192 1. Die Interaktionsbox ist in Kontakt mit dem NPC<br>\u2192 2. Die A-Taste wurde gedr\u00fcckt<\/li>\n\n\n\n<li>\u00dcberlege, ob du beides <strong>in einem eigenen \u201ePr\u00fcfe-Block\u201c\u201c<\/strong> regelm\u00e4\u00dfig abfragen m\u00f6chtest oder ob du zwei unterschiedliche Bl\u00f6cke brauchst<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83e\uddea <strong>Teste und verbessere:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Funktioniert das System in alle Richtungen?<\/li>\n\n\n\n<li>Wird der Dialog nur ausgel\u00f6st, wenn du <em>wirklich davorstehst<\/em>?<\/li>\n\n\n\n<li>Was passiert, wenn zwei NPCs nah beieinanderstehen?<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">\ud83c\udfaf <strong>Extra-Herausforderung:<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lass den NPC je nach Richtung unterschiedlich reagieren:<br>\u2192 Von hinten sagt er vielleicht: <em>\u201eHey, nicht so anschleichen!\u201c<\/em><br>\u2192 Von vorn: <em>\u201eHallo, wie kann ich helfen?\u201c<\/em><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd38 Ziel: Wenn der Spieler vor dem NPC steht, soll dieser durch Dr\u00fccken der A-Taste ansprechbar werden. \ud83e\udde0 Was soll genau passieren?Stell dir vor: Dein Spieler steht vor dem NPC,&hellip;<\/p>\n","protected":false},"author":1,"featured_media":509,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,31,13],"tags":[],"class_list":["post-538","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-makecode-arcade","category-tutorial"],"_links":{"self":[{"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/posts\/538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=538"}],"version-history":[{"count":2,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/posts\/538\/revisions"}],"predecessor-version":[{"id":540,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/posts\/538\/revisions\/540"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=\/wp\/v2\/media\/509"}],"wp:attachment":[{"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sora.fshcloud.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}