game maker
Gebruikersnaam:
Wachtwoord:
Home Info Forums Help
Welkom, Gast. Alsjeblieft inloggen of registreren.
+  Forums
|-+  Werken met Game Maker
| |-+  Tutorials en Uitbreidingen (Moderator: Maarten Baert)
| | |-+  [Scr + Exa] Volledige input xbox 360 controller interpreteren zonder DLL
Pagina's: [1]
« vorige volgende »
Print
Advertenties

Jolie
Gebruiker


Offline Offline

Berichten: 1304

HC Bloemendaal FTW!


« Gepost op: 12 Oktober 2012, 19:24:47 »

Volledige input xbox 360 controller interpreteren zonder DLL

Game maker versie:  Game Maker 6  Game Maker 7 GameMaker 8
Pro/Standard vereist: Niet dat ik weet
Niveau: Gevorderd voor begrijpen gemiddeld voor gebruikern.

Inhoud:
- Introductie
- De scripts
- Notities
- Example
- Tot slot





Introductie
Hallo 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:

Code:

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 airload

Example



Dit example toont alle mogelijkheden van de scriptset. Probeer het uit!

Download het:
- Via airload
- Via updo

Tot slot

Ik 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  Rolt ogen Echter, bij commercieel gebruik zou ik toch graag een naamsvermelding zien sinds het toch wel flink wat werk was!


Tot ziens,
Jolie

Naar boven Gelogd

Advertenties
« vorige volgende »
Pagina's: [1]
Print


Topic Informatie
0 geregistreerde leden en 1 gast bekijken dit topic.

Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines
www.game-maker.nl © 2003-2020 Nederlandse Game Maker Community