Spiel mit playstation kontroller spielen ?

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Du kannst allemöglichen Controller verwenden, welche sich an den PC anschliessen lassen.
      Das Betriebssystem übernimmt die Aufgabe der Kommunikation zwischen Spiel und Gamepad.
      Falls dein Spiel bereits einen Gamecontroller unterstützt, sollte es problemlos mit dem PS-controller funktionieren. (Natürlich müssen die jeweiligen Treiber für den Controller installiert werden.)
      Es könnte allerdings passieren dass manche Buttons falsch gemappt werden bzw. die Achsen bei den analogsticks invertiert wurden. In solchen fällen muss man das buttonmapping im GM verändern bzw die Achsen wieder korrigieren.
    • Und wie mache ich das mein Spiel Gamekontroller unterstützt ?
      Edit hab da was im Internet gefunden:
      gp_face1 Top button 1 (this maps to the "A" on an Xbox 360 controller and the cross on a PS3 controller)
      gp_face2 Top button 2 (this maps to the "B" on an Xbox 360 controller and the circle on a PS3 controller)
      gp_face3 Top button 3 (this maps to the "X" on an Xbox 360 controller and the square on a PS3 controller)
      gp_face4 Top button 4 (this maps to the "Y" on an Xbox 360 controller and the triangle on a PS3 controller)
      gp_shoulderl Left shoulder button
      gp_shoulderr Right shoulder button
      gp_shoulderrb Left shoulder trigger
      gp_shoulderlb Right shoulder trigger
      gp_select The select button
      gp_start The start button
      gp_stickl The left stick pressed (as a button)
      gp_stickr The right stick pressed (as a button)
      gp_padu D-pad up
      gp_padd D-pad down
      gp_padl D-pad left
      gp_padr D-pad right
      gp_axislh Left stick horizontal axis (analogue)
      gp_axislv Left stick vertical axis (analogue)
      gp_axisrh Right stick horizontal axis (analogue)
      gp_axisrv Right stick vertical axis (analogue)

      Nur weiß ich die funktionen nicht wie ich die einsetzen soll.
      Beim pc war es ja so:
      if keyboard_check(....) == true
      then

      Wie ist es hier ?
      *Tzzzzzzsschhhhhhhhhhhhhhhhhhhhhhh*

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mertcan ()

    • 0 ist die "id" des Gamepads. Soweit ich weiss unterstützt Studio bis zu 4 Gamepads gleichzeitig.
      Wenn du ein Gamepad anschliesst, bekommt es eine Nummer, welche 0,1,2 oder 3 sein kann.

      Mit der Funktion

      GML-Quellcode

      1. gamepad_is_connected(numb);

      kannst du überprüfen, ob ein Gamepad mit der jeweiligen Nummer angeschlossen ist. Falls dies zutrifft, dann kannst du dieses verwenden.

      Beachte dabei dass die zuordnung des gamepads nicht sequentiell erfolgt.
      (sprich: Das erste Gamepad welches du anschliesst, muss nicht zwingend die nummer 0 bekommen. Es kann genausogut 1,2 oder 3 sein.)

      Prüf also anfangs welche nummer angeschlossen ist und verwende dann diese nummer bei den Gamepad funktionen.
      Beispiel:

      GML-Quellcode

      1. gid = -1;
      2. if(gamepad_is_connected(0){
      3. gid = 0;
      4. }
      5. if (gamepad_is_connected(1){
      6. gid = 1;
      7. }
      8. if (gid != -1){
      9. if gamepad_button_check_pressed(gid, gp_start)
      10. {
      11. audio_sound_play(snd_Start, 0, false);
      12. room_goto(rm_Level_1);
      13. }
      14. }
      Alles anzeigen
    • gid ist die numemr des aktuellen controllers. (ist eine einfache variable. Kannst du auch "guckmal" nennen wenn du möchtest. Macht keinen Unterschied.)
      Wir wollen ermitteln, welche ID der aktuell angeschlossene Controller besitzt.
      Dies machen wir mit dieser Anweisung:

      GML-Quellcode

      1. gid = -1;
      2. if(gamepad_is_connected(0){
      3. gid = 0;
      4. }
      5. if (gamepad_is_connected(1){
      6. gid = 1;
      7. }
      8. if (gamepad_is_connected(2){
      9. gid = 2;
      10. }
      11. if (gamepad_is_connected(3){
      12. gid = 3;
      13. }
      Alles anzeigen


      Anhand dieser Anweisungen wissen wir welche Nummer vom Gamepad verwendet wird. Diese nummer speichern wir dann in der variable "gid" welche dann von den Gamepad funktionen verwendet wird:

      GML-Quellcode

      1. if(gamepad_get_device_count() > 0 && gid != -1){//ob das Gamepad immernoch angeschlossen ist und ob die gid gesetzt wurde
      2. if gamepad_button_check_pressed(gid, gp_start) //gid ist die Nummer die oben ermittelt wurde.
      3. {
      4. audio_sound_play(snd_Start, 0, false);
      5. room_goto(rm_Level_1);
      6. }
      7. }

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von LEWA ()

    • mertcan schrieb:

      Also wenn ich nur mit einem Controller spielen würde könnte ich ja immer nur

      Quellcode

      1. if gamepad_button_check_pressed(gid, gp_start)

      Genau. der zweite Parameter (hier: gp_start) ist der Button den du auf dem controller prüfen möchtest. In der Dokumentation die ich verlinkt habe wird auch angezeigt, welcher button mit welcher Konstante angesprochen wird.
    • Also ich habe bei meinem Spiel das problem gehabt das nur einer meiner beiden Gamepads funktioniert hat.

      Einmal ein Logitech XBox komaptibles Gamepade das einwandfrei funktioniert hat.

      Mein billigeres HAMA Playstation kompatibler Controller wird zwar von Windows erkannt und installiert, funktioniert auch in anderen spielen. Aber in meinem GM:Maker spiel
      wird er einfach nicht erkannt und kann auch nich benutzt werden.
      Dabei muss ich auch sagen das das billige Gamepad von windows nur als Standard Gamepad erkannt wird.