Moin,
habe heute mal meinen kompletten Movement-Code umgeändert und statt dieser "if keyboard_check..."-Methode, die ich vorher bei jeder Bewegung (sprich: Links, rechts, Sprung, etc.), verwende ich jetzt ein, durch Variabeln gesteuertes Movement-System. Hier mal schnell die Codes:
Alles im Step-Event:
Alles anzeigen
Einfach die Sprite-Namen bitte ignorieren:
Und nun hier noch zwei Beispiele wie ich es verwendet habe:
Alles anzeigen
Mein Problem hier ist jetzt, dass ich überhaupt nichts machen kann. Das einzige was passiert ist, dass ich springen kann wenn ich auf die Space-Taste drücke, aber dann hört der Spieler auch nicht auf zu springen. Sitze jetzt gute zwei Tage an dem Problem und habe es noch immer nicht gelöst bekommen.![:(](http://www.gm-d.de/wcf/images/smilies/sad.png)
Hoffe mit kann von euch jemand helfen.
Liebe Grüße,
Max/ChinoDX
habe heute mal meinen kompletten Movement-Code umgeändert und statt dieser "if keyboard_check..."-Methode, die ich vorher bei jeder Bewegung (sprich: Links, rechts, Sprung, etc.), verwende ich jetzt ein, durch Variabeln gesteuertes Movement-System. Hier mal schnell die Codes:
Alles im Step-Event:
GML-Quellcode
- //Set Input-Variables
- if global.input = 0
- {
- if keyboard_check(ord('W')) {key_up = true}
- if keyboard_check(ord('S')) {key_down = true}
- if keyboard_check(ord('D')) {key_right = true}
- if keyboard_check(ord('A')) {key_left = true}
- if keyboard_check_pressed(vk_space) {key_jump = true}
- if keyboard_check(ord('F')) {key_fire = true}
- if keyboard_check_released(ord('D')) {key_fire = false; key_right_released = true}
- if keyboard_check_released(ord('A')) {key_left = false; key_left_released = true}
- if keyboard_check_released(vk_space) {key_left = false; key_jump_released = true}
- if keyboard_check_released(ord('F')) {key_left = false; key_fire_released = true}
- }
Einfach die Sprite-Namen bitte ignorieren:
GML-Quellcode
- //Set Sprite-Changings
- if eddie_stand = true {sprite_index = Wictor}
- if eddie_stand_left = true {sprite_index = Wictor_left}
- if eddie_walk = true {sprite_index = Wictor_Running}
- if eddie_walk_left = true {sprite_index = Wictor_Running_left}
- if eddie_climb = true {sprite_index = Wictor_Climb}
- if eddie_shoot = true {sprite_index = Wictor_shooting}
- if eddie_shoot_left = true {sprite_index = Wictor_shooting_left}
Und nun hier noch zwei Beispiele wie ich es verwendet habe:
GML-Quellcode
- hspeed = 0; //Movement Left-Right
- if (key_left = true && grounded = true) //Move Left
- {hspeed -= 5 && eddie_walk_left = true}
- if (key_right && grounded = true) //Move Right
- {hspeed = 5 && eddie_walk = true}
- if (key_right_released = true) {hspeed = 0 && eddie_stand = true}
- if (key_left_released = true){hspeed = 0 && eddie_stand_left = true}
GML-Quellcode
Mein Problem hier ist jetzt, dass ich überhaupt nichts machen kann. Das einzige was passiert ist, dass ich springen kann wenn ich auf die Space-Taste drücke, aber dann hört der Spieler auch nicht auf zu springen. Sitze jetzt gute zwei Tage an dem Problem und habe es noch immer nicht gelöst bekommen.
![:(](http://www.gm-d.de/wcf/images/smilies/sad.png)
Hoffe mit kann von euch jemand helfen.
Liebe Grüße,
Max/ChinoDX