Huhu 
Der Titel ist etwas seltsam, ja. Aber mein Problem tritt nur bei der Steuerung des Gamepads auf.
Folgendes, ich möchte meine Spielfigur in Bewegung setzen und springen soll sie auch können. Aber seit dem ich von der Steuerung der Tastatur zur Steuerung über mein Gamepad "umgestiegen" bin, funktioniert der Code nicht mehr und ich verstehe nicht wie ich das umsetzen kann.
Zuvor hatte ich es so gemacht:
Spoiler anzeigen
Alles anzeigen
Momentan sieht das vorerst so aus:
Spoiler anzeigen
Alles anzeigen
Aber nun steckt die Spielfigur links oder rechts fest beim Versuch zu springen.
Außerdem ist durch das fehlende hspeed die Gehbewegung nicht mehr flüssig.
Wie kann ich beides unter einen Hut bringen?
Ich danke vielmals im Voraus.
EDIT: Hiermit kann der Spieler jetzt nach rechts laufen ohne stecken zu bleiben aber nicht nach links.
EDIT 2: Immer noch nichts, links will nicht.
EDIT 3: So! jetzt funktioniert es^^
Aber warum muss ich den wert hier für links auf 17 setzen während es bei der rechten Seite mit "10" getan ist??

Der Titel ist etwas seltsam, ja. Aber mein Problem tritt nur bei der Steuerung des Gamepads auf.
Folgendes, ich möchte meine Spielfigur in Bewegung setzen und springen soll sie auch können. Aber seit dem ich von der Steuerung der Tastatur zur Steuerung über mein Gamepad "umgestiegen" bin, funktioniert der Code nicht mehr und ich verstehe nicht wie ich das umsetzen kann.
Zuvor hatte ich es so gemacht:
GML-Quellcode
- hspd -= hspd / 6;
- if (global.run2=1) and (keyboard_check(vk_rshift)) {myspeed=1.5} else {myspeed=1.0;}
- if (keyboard_check(vk_left)) {hspd -= myspeed;}
- if (keyboard_check(vk_right)) {hspd += myspeed;}
- repeat (abs(hspd)) {
- if (place_free(x + sign(hspd), y))
- x += sign(hspd);
- }
- if(global.run2=1) {
- if(hspeed > 12) {hspeed= 12;}
- if(hspeed < -12) {hspeed= -12;}
- }
- else {
- if(hspeed > 8) {hspeed= 8;}
- if(hspeed < -8) {hspeed= -8;}
- }
- //jump + doublejump
- if (global.jump2=1) {
- if (keyboard_check(vk_rcontrol)) {
- if !place_free(x,y + 1) {
- jumps+=1;
- vspeed = -18;}
- else if (keyboard_check_pressed(vk_rcontrol)) and double_jump = 1
- and (global.Djump2=1) {
- double_jump = 0;
- jumps+=1;
- vspeed = -16;}
- }
- }
- if (keyboard_check_released(vk_rcontrol)) {
- if vspeed < 0 {vspeed /= 6;}
- }
- //gravity
- if place_free(x,y + 1) {gravity = 1;}
- else {gravity = 0;}
- //speed limit
- if (vspeed > 18) {vspeed=18;}
- if (vspeed < -18) {vspeed=-18;}
Momentan sieht das vorerst so aus:
GML-Quellcode
- if (global.run=1) and (gamepad_button_check(0,gp_shoulderrb)) {myspeed=6} else {myspeed=4;}
- x += gamepad_axis_value(0,gp_axislh)*myspeed;
- //jump + doublejump
- if (global.jump=1) {
- if (gamepad_button_check(0,gp_face1)) {
- if !place_free(x,y + 1) {
- jumps+=1;
- vspeed = -18;}
- else if (gamepad_button_check_pressed(0,gp_face1)) and double_jump = 1
- and (global.Djump=1) {
- double_jump = 0;
- jumps+=1;
- vspeed = -16;}
- }
- }
- if (gamepad_button_check_released(0,gp_face1)) {
- if vspeed < 0 {vspeed /= 6;}
- }
- //gravity
- if place_free(x,y + 1) {gravity = 1;}
- else {gravity = 0;}
- //speed limit
- if (vspeed > 18) {vspeed=18;}
- if (vspeed < -18) {vspeed=-18;}
Aber nun steckt die Spielfigur links oder rechts fest beim Versuch zu springen.
Außerdem ist durch das fehlende hspeed die Gehbewegung nicht mehr flüssig.
Wie kann ich beides unter einen Hut bringen?
Ich danke vielmals im Voraus.
EDIT: Hiermit kann der Spieler jetzt nach rechts laufen ohne stecken zu bleiben aber nicht nach links.
EDIT 2: Immer noch nichts, links will nicht.
EDIT 3: So! jetzt funktioniert es^^
Aber warum muss ich den wert hier für links auf 17 setzen während es bei der rechten Seite mit "10" getan ist??

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Lunatic447 ()