Wie schränke ich das Sichtfeld ein?

 [zurück]

Spiele der Serie "Zelda" werden euch sicherlich ein Begriff sein. Im SNES-Teil "Zelda - A Link to the past" gab es finstere Dungeons, in denen es keinerlei Lichtquelle gab. Link, der natürlich eine Laterne bei sich hatte, konnte nur einen Teil des Dungeons sehen, in dem er sich aufhielt. Hier ein Beispiel wie es sich das auf dem SNES darstellte:

Ihr seht hier Link (der Charakter mit der grünen Mütze) sowie einen hell erleuchteten Bereich. Um diesen hellen Bereich ist ein etwas dunklerer Bereich, ehe die vollkommene Schwärze kommt.

Für die gewisse Note in einem Spiel würde es sich doch anbieten, in den dunklen, unbeleuchteten Höhlen, Kellergewölben und sonstigen Räumlichkeiten, in denen es keinerlei Lichtquelle hat, das Sichtfeld eures Helden ebenfalls einzuschränken. Nur... wie stellt man so etwas an?

Schritt 1: Die Grafiken für die Sichtfeldeinschränkung

Hier kommt ihr definitiv nicht daran vorbei, selbst Hand bei der Grafikgestaltung anzulegen. Doch erst einmal braucht ihr ein Raster, das euch bei der Positionierung des Sichtfeldes helfen soll:

Hier seht ihr das Raster mit der Größe von 320x240 Pixeln. Die Grafik selbst ist 640x480 Pixel groß, auf dem Raster könnt ihr dann letztlich das Sichtfeld angeben. Wie, das bleibt letztlich euch überlassen

Soll das Sichtfeld, wie im oberem Bild auch, ein "Sichtkegel" sein, benötigt ihr vier (für jede Blickrichtung eine). Hier nun drei Pakete mit Beispielgrafiken:
 
Sichtkegel_1.zip Vier Grafiken für Sichtkegel, die das Blickfeld des Helden darstellen sollen.
Sichtkegel_2.zip Vier weitere Grafiken in Form von Sichtkegeln für das Blickfeld eures Helden; hierbei wurde an den Rändern der Sichtkegel ein kleiner Schatten eingebaut.

Je nach dem, ob das Blickfeld eures Helden als Kreis oder durch vier Sichtkegel dargestellt werden soll, hängt die weitere Bearbeitung ab. Daher folgen nun zwei weitere Bearbeitungsschritte...

Schritt 2: Das Sichtfeld...
  1. Begebt euch in eurem Maker-Projekt in die Datenbank, indem ihr die Taste [F8] drückt oder auf den Button mit der Tabelle klickt. Klickt hier die Registerkarte "allg. Ereignisse" an und wählt im Listenfeld links eine freie Zahl aus, der ihr das Event für die Sichtfeldbegrenzung zuweisen wollt.
    Gebt dem Ereignis im Feld "Name" einen Namen und wählt im Feld "Startvoraussetzungen" die Option "Paralleler Prozess".
    Setzt schließlich noch im Feld "Auslösender TAB" das Häkchen im weißem Quadrat und wählt mit Klick auf den Button mit den drei Punkten einen freien TAB aus, dem ihr den Namen "Finstre Dungeons" gebt.
  2. Klickt im Feld "Ereigniskommandos" doppelt in die leere Zeile und wählt im darauf folgendem Fenster die erste Registerkarte und dort den Button "Variablen verändern".
    Wählt im Feld "Wähle Variable(n)" die Option "Eine" und mit Klick auf den Button mit den drei Punkten eine freie Variable aus, der ihr den Namen "Held X" gebt.
    Wählt im Feld "Funktionen" die Option "Wähle" und im Feld "Operand" die Option "Ereignis". Wählt im erstem Drop-Down-Menü die Option "Held" und im zweiten daneben die Option "Szene X", klickt dann auf OK.
  3. Wiederholt Punkt 2, nur dass ihr dort eine neue Variable wählt, der ihr den Namen "Held Y" gebt und anstelle der Option "Szene X" die Option "Szene Y" wählt.
  4. Klickt unter der letzten Variable doppelt in die leere Zeile und wählt im darauf folgendem Fenster die dritte Registerkarte und dort den Button "Bedingungen".
    Wählt im Feld "Bedingungen" die Option "Ereignis". Im ersten Drop-Down-Menü daneben wählt ihr die Option "Held", im zweiten die Option "Hoch". Setzt noch das Häkchen bei "+Ansonstenfall" und klickt auf OK.
  5. Über den Worten "Ansonsten" klickt ihr doppelt in die leere Zeile und wählt im darauf folgendem Fenster die zweite Registerkarte und dort den Button "Bild anzeigen".
    Im Feld "Bild Nr." wählt ihr die Option "1" aus. Im Feld "Bild auswählen" wählt ihr nun das Bild für den Sichtkegel nach oben aus.
    Wählt im Feld "Anzeigeposition" die Option "Von Variable" und in den Feldern "X" und "Y" jeweils die Variablen für die Bestimmung von "Szene X" und "Szene Y" aus (in unserem Beispiel heißen die Variablen "Held X" und "Held Y").
    Lasst im Feld "Vergrößerung" den Wert auf "100" und im Feld "Transparenz" den Wert auf "0". Wählt noch als "Transparente Farbe" die Option "Mischen" und klickt auf OK.
  6. Unter den Worten "Ansonsten" legt ihr, wie unter Punkt 4, wieder eine Bedingung an, jedoch wählt ihr diesmal anstelle von "Hoch" die Option "Rechts".
  7. Erstellt über den Worten "Ansonsten" dieser Bedingung eine "Bild-anzeigen-Funktion" nach Punkt 5, nur dass ihr anstelle des Sichtkegels für oben den Sichtkegel für rechts auswählt.
  8. Wiederholt unter den Worten "Ansonsten" Punkt 4, nur dass ihr anstelle von "Hoch" die Option "Runter" auswählt und auf OK klickt.
  9. Über den Worten "Ansonsten" der eben erstellten Bedingung wiederholt ihr Punkt 5, nur dass ihr hier anstelle des Sichtkegels für oben den Sichtkegel für unten auswählt.
  10. Zuletzt erstellt ihr nach dem Schema von Punkt 4 eine Bedingung, nur dass ihr anstelle der Option "Hoch" die Option "Links" auswählt. Nehmt das Häkchen bei "+Ansonstenfall" raus, bevor ihr auf OK klickt.
  11. Nun klickt ihr innerhalb dieser Bedingung doppelt in die leere Zeile und erstellt nach dem Schema von Punkt 5 eine "Bild-anzeigen-Funktion". Wählt dort anstelle des Bildes für den Sichtkegel oben das Bild für den Sichtkegel nach links und klickt auf OK.
    Hier noch ein Code-Beispiel für das Ergebnis...

Beachtet, dass ihr die Sichtfeldeinschränkung erst dann nutzen könnt, wenn der unter Punkt 1 gewählte TAB "Finstre Dungeons" auf ON gestellt wurde. Die Sichtfeldeinschränkung selbst sieht in Aktion wie folgt aus:


 [zurück]