Gamepads unterstützen


PaC-DK bietet seit 3.1 die Möglichkeit Gamepads zu unterstützen.

Maussteuerung durch Analogstick :

Im Projektsetup kann aktiviert werden das der Spieler mit dem ersten Gamepad die Maus steuern kann. Die ersten beiden Button des Gamepads fungieren dann als Linke und Rechte Maustaste.

D-Pad und Buttons abfragen :

Um das D-Pad und alle Buttons eines Gamepads abzufragen gibt es die Befehle if_paddown und if_padpressed . Genauso wie Tasten der Tastatur lassen sich Tasten des Gamepads überprüfen. Es können 2 Gamepads benutzt werden.

Wichtig : Minigames und ähnliches sollten immer alternativ auch mit der Tastatur gesteuert werden können.

Achsen abfragen :

Um an die Werte der Achsen eines Gamepads zu gelangen benutzt man einige vordefinierte Variablen. Beispiel :

setnum (XAxis ; [gamepadX:1])

Das legt den momentanen Wert der X Achse von Gamepad 1 in die Variable XAxis. Diese Werte gehen von -1000 bis 1000. Um die Deadzone muss sich selbst gekümmert werden. Zu empfehlen ist hier eine Grenze von 200 bei der reagiert werden soll.
Es können der linke Stick (X /Y) der rechte Stick (U /R) und die analogen Schultertasten (Z) gelesen werden.

Ein vollständiges Beispiel Projekt findet ich auf der PaC-DK Homepage unter in der Schublade "Examples".

Erweiterter Gamepadsupport :

Zusätzlich zur Option das Gamepad als Maus nutzen zu können, sollte man weitere Buttons des Gamepads nutzen um damit zB das Hauptmenu oder die Inventory öffnen zu können. Dies kann man erreichen indem man das Hauptskript oder eine Funktion nutzt welche diese Buttons ständig abfragt.