Re: Die Gemäuer von Kalawaum (90s Classic, Rework)
Verfasst: 31.07.2020 22:22
UPDATE:
Der Teil der Editor-Programmierung, vor dem es mir am meisten gegraust hat, ist geschafft!
Jetzt ist es möglich, alle Felder mittels simpler Point&Click-Interaktion mit anderen Feldern zu verlinken, in dem man zunächst eine Source-Koordinate setzt, und anschließend eine Target-Koordinate; sobald beide Koordinaten gesetzt sind, wird ein Link-Actor() "erschaffen". Eine Target-Koordinate kann sich auch auf einer anderen Map befinden - so kann man später im Spiel zwischen Maps hin- und hergehen (in dem man z.B. Link-Actors() auf Türen platziert), oder Teleporter kreieren (ein dafür passendes Tile existiert ebenfalls).
Bewegt man im Editor die Maus auf ein solches Link-Tile, wird ein roter Faden zur Partner-Koordinate gezogen - befindet sich diese auf einer anderen Map, zieht der Faden stattdessen in die untere rechte oder linke Ecke, je nachdem ob sich das Partner-Tile auf einer Map vor oder hinter der aktuellen befindet. Die genauen Koordinaten werden ebenfalls angezeigt.
Ein Rechts-Klick auf entweder Source- oder Target-Koordinate im Link-Mode löscht den zugehörige Link-Akteur.
Das war eine relativ komplexe Angelegenheit, da mit einer solchen Mechanik Tür&Tor für NullPointer()-Exceptions geöffnet werden, welche alle abgefangen und gefixt werden müssen. Einige besondere Edge-Cases, Interaktion der Link-Akteure mit anderen Actors(), mußten ich ebenfalls berücksichtigen.
Sind Source und Target-Koordinate übrigens gleich, bekommt man eine Teleport-Trap! Diese kann auch von Monstern genutzt werden: bewegt man sich auf ein solches Tile, wird man auf ein zufälliges freies Tile irgendwo in der aktuellen Map teleportiert.