Ich habe letzte und diese Woche relativ spontan was gebastelt (wobei mal wieder die meiste Zeit nur für das Promomaterial und die Dokumentation draufging )
OnTouch
Pixelgenau klickbare Ereignisse, mit Klickregionen, mit Reichweitenbeschränkung, mit Farb- und Positionswähler, mit anpassbarem Bild für's Sampling, individuell per Links- und/oder Rechtsklick, als zusätzliche Einstiegspunkte
Funktionsweise
Ist recht unspektakulär: Wenn man auf die Karte klickt (rechts oder links), dann schaut das Plugin, ob da unter dem Zeiger ein entsprechend klickbares Ereignis ist. Falls ja, dann wird die normale Kartenklickfunktion unterdrückt.
Wenn dann gerade auch noch kein modales Ereignis-Script läuft oder starten würde, das Spiel also nicht gerade mitten in einer Szene steckt, dann startet dieses Ereignis auch noch sofort modal beginnend am passenden Einstiegspunkt (!OnTouch:-Pluginbefehl). Wobei "startet" da etwas relativ ist, die Befehle werden dann zur normalen Zeit interpretiert. Ich muss das nur direkt in den Zustand "läuft" bringen, damit ich sicher an die passende Stelle springen kann (ohne, dass der Code unnötig kompliziert wird ).
Benutzung
Wenn ihr einfach nur ein Ereignis klickbar machen wollt, dann braucht ihr nur den !OnTouch:-Befehl irgendwo direkt auf der aktiven Seite. Dadurch fangen dann sofort alle sichtbaren Pixel Linksklicks ab. Der visuelle Stapel wird dabei beachtet, also sind große/überlappende Sprites auch kein Problem bzgl. welches Ereignis dann genau startet. (Standardmäßig sind Ereignisse aber klickdurchlässig, auch wenn sie relativ gesehen im Vordergrund sind. Packt da einfach !OnTouch: ganz ans Ende, falls ein Ereignis nur entsprechende Klicks blockieren soll.)
Ihr könnt das auch noch mit diversen Bedingungen anpassen, also wo genau geklickt werden kann (mit Farb- und Transparenzbedingungen), wo die Spielfigur stehen muss (funktioniert auch alles mit Pixel-Bewegung/ohne Kachelbeschränkung), welche Maustaste(n) benutzt werden dürfen, und so weiter. Ihr könnt auch einzelne oder alle Farbkanäle, die Alphakanal und/oder Sprite-prozentuale Position des angeklickten Pixels in Variablen abspeichern.
Falls das nicht ausreicht, z.B. weil ihr mehrere Regionen definieren wollt oder die interaktive Fläche zu klein oder zu groß ist, dann könnt ihr ganz einfach per !OnTouchColorImage dateiname eine andere Bilddatei dafür nutzen. Der Bildausschnitt bleibt gleich, kopiert also einfach das Spritesheet im tilesets/- oder characters/-Ordner und ändert das entsprechend ab. (In MV müsste ihr die Pluginbefehle wie gehabt eintippen, in MZ gibt es stattdessen für alles Auswahldialoge).
Es gibt auch noch ein paar zusätzliche Optionen bei !OnTouch:, sodass die Drehung der Spielfigur und das Sperren (Drehen + Anhalten) des Ereignisses vermieden werden können.
Der dritte verfügbare Befehl RevertOnTouchTurn dreht die Spielfigur zurück in die Ausgangsrichtung, so wie das die meisten Ereignisse nach der Interaktion auch tun.
Stabile JavaScript-API und Entwicklerfunktionen
Gibt es auch, würde an dieser Stelle aber den Rahmen sprengen. Schaut auf der Plugin-Seite nach, da ist das alles ausführlich aufgelistet und erklärt.
Wo gibt's das und was kostet es?
Ich habe das wie üblich hier auf itch.io reingestellt. Den Preis schaut ihr auch am besten da nach, falls ich den mal ändere. Als Startpreis habe ich $10 ausgewählt.
Das ist etwas günstiger als die meisten anderen Klick-Plugins (außer TDDP - MouseSystemEx, da hat wohl Degica bezahlt um es frei verfügbar zu machen), hat dafür aber keine Hover-Cursor eingebaut.
Ihr müsstet dieses Plugin hier aber ohne Probleme mit solchen Mauszeigerplugins nutzen können, i.d.R. selbst wenn diese auch Klick-Plugins sind. Falls MouseSystemEx in MZ nicht geht, dann sollte Mimosa Mouse Cursor ziemlich gut passen. Ich habe das aber beides nicht ausprobiert.