Volledige input xbox 360 controller interpreteren zonder DLLGame maker versie:

Pro/Standard vereist: Niet dat ik weet
Niveau: Gevorderd voor begrijpen gemiddeld voor gebruikern.
Inhoud:- Introductie
- De scripts
- Notities
- Example
- Tot slot
IntroductieHallo allemaal!
Laatst downloadde ik
Dit example waarin je de input van controllers kon gebruiken in je game. Ik dus mijn xbox 360 controller aansluiten, en ik kreeg hele gekke resultaten en ik vond het example redelijk cryptisch. In het topic kun je dan ook enkele vragen zien over het gebruik van een xbox 360 controller.
Welnu, ik heb met Game Maker een scriptenset gemaakt waarmee je de volledige input van de xbox 360 controller kunt interpreteren zonder DLL, en zonder gedoe. Je kunt de input lezen van de linker en rechter joystick (En hoever zij zijn verplaatst) , je kan de D-pad lezen, alle knoppen (inclusief het indrukken van de joysticks) en de triggers en hoeveer zij zijn ingedrukt.
De scripts:
Basis:
- xbox_init() : Initialiseert de scriptset.
- xbox_connected(); Controleert specifiek of een xbox controller (en dus niet een andere) is aangesloten.
- xbox_dpad(); Geeft de input van de dpad terug in graden. (Of -1 bij geen input)
Knoppen:
- xbox_button_x();
- xbox_button_y();
- xbox_button_a();
- xbox_button_b();
- xbox_back();
- xbox_start();
- xbox_bumper_left();
- xbox_bumper_right();
- xbox_joypress_left();
- xbox_joypress_right();
Joysticks:
- xbox_joystickleft_x();
- xbox_joystickleft_y();
- xbox_joystickright_x();
- xbox_joystickright_y();
Triggers:
- xbox_trigger_left();
- xbox_trigger_right();
Notities:- Game Maker hanteert Directinput. Dit werkt zeer goed met de xbox controller, alleen heeft het een mankement, namelijk de triggers.
Deze triggers hebben niet elk een eigen as, maar delen samen een as. Als de linker trigger wordt ingedrukt is de waarde van de as tussen de 0 en de 1, en bij de rechter trigger is dit ook tussen de 1 en de 0. Geen probleem, afzonderlijk worden de triggers
perfect uitgelezen, maar als je beide triggers tegelijk indrukt wordt de een van de ander afgetrokken. Dus als je de rechter trigger helemaal indrukt en de linker voor de helft, dan is de waarde 0.5. Zie ook het example.
- De d-pad detecteert slechts 8 richtingen. Is de D-pad niet ingedrukt, dan is de waarde -1. De return value is de richting in
graden tegen de klok in, zoals game maker dit hanteert.
- De grote xbox knop is niet uitleesbaar.
- Met xbox_connected is te zien of de verbonden joystick een xbox 360 controller is. Hoe dit moet is in het example te zien.
- De waardes van de x en y posities van de joysticks, en de mate van hoe ingedrukt de triggers zijn is ingedeeld tussen de 0 (totaal niet) tot 1 (helemaal).
Download de scripts:- Via updo- Via airloadExample
Dit example toont alle mogelijkheden van de scriptset. Probeer het uit!
Download het: - Via airload- Via updoTot slotIk hoop dat jullie hier iets aan hebben. Hoe het zit met credits? Bij een gratis spelletje vind ik het geen probleem als je mijn naam weglaat, hoewel ik er geen nee tegen zeg

Echter, bij commercieel gebruik zou ik toch graag een naamsvermelding zien sinds het toch wel flink wat werk was!
Tot ziens,
Jolie