Ich habe gleich mehrere kleinere und größere Probleme mit meinem Gamepad. Der Code fragt sowohl die Tastatur als auch die Pads ab (Dank an MewX an dieser Stelle):
Step:
Spoiler anzeigen
Alles anzeigen
Das funktioniert auch so weit gut. Die Spielfigur hat Animationen in vier Richtungen, je aus 16 Frames, wobei 0 das Stehen ist. Ebenfalls im Step, aber vor der Tastenabfrage, wird ermittelt, ob das letzte Bild erreicht ist und dann auf Bild 1 statt 0 umgeschaltet. Das sieht dann so aus:
Ich muss das vorher machen, weil er sonst nicht richtig umschaltet, also Frame 0 mit nimmt und dies dann immer wie ein zuckeln und ruckeln aussieht. Damit kommen wir schon zu Problem 1:
Bei der Gamepadsteuerung überspringt er Frame 0 nicht und ich verstehe nicht warum. Ich habe den oben stehenden Code schon in Step End, Step Beginn, direkt in die Abfrage etc. kopiert, aber es hilf nichts.
Problem 2:
Ich habe aktuell zwei Tasten belegt ( mit joystick_check_button(i,1) bzw. joystick_check_button(i,2) ). Taste 1 soll einfach nur die Figur auf Startposition bringen, was auch funktioniert. Taste 2 soll den Raum neu Starten, ein Leben und Geld abziehen. Das funktioniert auch, aber anscheinend löst er dies mehrfach hintereinander aus, so dass ich sofort tot bin (keine Punkte oder Leben mehr) und ich nur noch Game Over sehe.
Hat da jemand eine Idee?
Edit: Problem 2 habe ich eben selber gelöst. Tastenabfrage in End Step rein und beim Neustart einen Alarm eingestellt der für 350 Millisekunden alles einfriert. Funktioniert jetzt sehr gut.
Problem 3: Wenn ich den Ausgang erreiche, wird eine Animation abgespielt und die Figur soll stehen bleiben. Da sperre ich auf der Tastatur die Eingabe. Wie kann ich das beim Gamepad machen?
Lieben Dank an alle Helfer,
Yamm
Step:
GML-Quellcode
- for (i=1;i<3;i+=1)
- {
- if (joystick_xpos(i) >= 0.7 or keyboard_check(vk_right)) {
- direction=0
- speed=4;
- sprite_index=spr_o;
- image_speed=1;
- break;
- }
- if (joystick_xpos(i) <= -0.7 or keyboard_check(vk_left)) {
- direction=180
- speed=4;
- sprite_index=spr_w;
- image_speed=1;
- break;
- }
- if (joystick_ypos(i) >= 0.7 or keyboard_check(vk_down)) {
- direction=270
- speed=4;
- sprite_index=spr_s;
- image_speed=1;
- break;
- }
- if (joystick_ypos(i) <= -0.7 or keyboard_check(vk_up)) {
- direction=90
- speed=4;
- sprite_index=spr_n;
- image_speed=1;
- break;
- }
- }
Das funktioniert auch so weit gut. Die Spielfigur hat Animationen in vier Richtungen, je aus 16 Frames, wobei 0 das Stehen ist. Ebenfalls im Step, aber vor der Tastenabfrage, wird ermittelt, ob das letzte Bild erreicht ist und dann auf Bild 1 statt 0 umgeschaltet. Das sieht dann so aus:
Ich muss das vorher machen, weil er sonst nicht richtig umschaltet, also Frame 0 mit nimmt und dies dann immer wie ein zuckeln und ruckeln aussieht. Damit kommen wir schon zu Problem 1:
Bei der Gamepadsteuerung überspringt er Frame 0 nicht und ich verstehe nicht warum. Ich habe den oben stehenden Code schon in Step End, Step Beginn, direkt in die Abfrage etc. kopiert, aber es hilf nichts.
Problem 2:
Ich habe aktuell zwei Tasten belegt ( mit joystick_check_button(i,1) bzw. joystick_check_button(i,2) ). Taste 1 soll einfach nur die Figur auf Startposition bringen, was auch funktioniert. Taste 2 soll den Raum neu Starten, ein Leben und Geld abziehen. Das funktioniert auch, aber anscheinend löst er dies mehrfach hintereinander aus, so dass ich sofort tot bin (keine Punkte oder Leben mehr) und ich nur noch Game Over sehe.
Hat da jemand eine Idee?
Edit: Problem 2 habe ich eben selber gelöst. Tastenabfrage in End Step rein und beim Neustart einen Alarm eingestellt der für 350 Millisekunden alles einfriert. Funktioniert jetzt sehr gut.
Problem 3: Wenn ich den Ausgang erreiche, wird eine Animation abgespielt und die Figur soll stehen bleiben. Da sperre ich auf der Tastatur die Eingabe. Wie kann ich das beim Gamepad machen?
Lieben Dank an alle Helfer,
Yamm
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Yamm ()