Hallo zusammen,
ich arbeite erst seit kurzen mit dem Game Maker Studio und bin ein Blutiger Anfänger
Ich bin gerade da bei Eigenes JUMP&RUN game - Game Maker 8 Tutorial nach zu bauen. Ich komme eigentlich gut mit. Ich möchte das Script was in dem Video erstellt wurde um einen Punkt erweitern, mit einer weiteren Animation. Momentan wenn man nach links oder rechts läuft spielt das Sprite die Laufanimation ab. Aber sobald man stehen bleib, bleibt die Animation auch stehen. Ich möchte eine weitere Animation einbauen die Abgespielt werden soll wann man sich nicht bewegt.
Vielleicht könnt ihr mir weiter helfen.
[hide=Code Create][/hide]
[hide=Code End Step]
Alles anzeigen
[/hide]
Bei dem eigenen Versuch habe ich ein wenig experimentiert. Hier gibt es den einen oder anderen Feher, den ich nicht beseitigen kann.
Man kann nach rechts laufen aber das Sprite bleibt immer in der "Player_IDEL_Rechts" wenn ich nach links gehe funktioniert es ohne probleme. Nach dem ich nach links gegangen bin und nach rechts weiter laufen möchte wechselt zwar das sprite wieder auf Player_IDEL_Rechts aber bewegt sich nicht mehr nach rechts.
[hide= Code End Step Eigener versuch]
Alles anzeigen
[/hide]
Über Hilfe und verbesserungen wurde ich mich freuen.
[hide=behoben mit "if keyboard_check_released"]
Alles anzeigen
[/hide]
Gruß Sveni
ich arbeite erst seit kurzen mit dem Game Maker Studio und bin ein Blutiger Anfänger

Vielleicht könnt ihr mir weiter helfen.
[hide=Code Create][/hide]
[hide=Code End Step]
GML-Quellcode
- hspeed = 0;
- if keyboard_check (vk_right) // Steuerung Rechts
- {
- hspeed += 5;
- lastpressed = "right"
- }
- if keyboard_check (vk_left) // Steuerung Links
- {
- hspeed -= 5;
- lastpressed = "left"
- }
- if place_free (x,y+10)
- { // Wenn wir in der Luft sind
- if lastpressed == "right"
- sprite_index = Player_Sprung_Rechts
- else
- sprite_index = Player_Sprung_Links
- }
- else
- { //Wenn wir am Boden sind
- if lastpressed == "left"
- sprite_index = Player_Links
- else
- sprite_index = Player_Rechts
- }
- image_index = x/30 // Animation
- if place_free (x+hspeed,y) == false // Kollisionerkennung Links Rechts
- {
- if hspeed > 0
- move_contact_solid(0,-1)
- if hspeed < 0
- move_contact_solid(180,-1)
- hspeed =0;
- }
- vspeed += 1 // Grafitation
- if keyboard_check_pressed (vk_up) //Spriengen
- if place_free (x,y+10) == false
- vspeed -= 15;
- if place_free (x,y+vspeed) == false // Kollisionerkennung Oben Unten
- {
- if vspeed > 0
- move_contact_solid(270,-1)
- if vspeed < 0
- move_contact_solid(90,-1)
- vspeed =0;
- }
- if place_free (x+hspeed,y+vspeed) == false // Nicht an Ecken hängen bleiben
- hspeed =0;
- if keyboard_check_released (vk_up)
- if vspeed < 0
- vspeed /=2
- view_xview = ((x-view_wview/2)+view_xview*9)/10 // Bildschirm einstellung
- view_yview = ((y-view_hview/1.5)+view_yview*9)/10
- if view_xview < 0
- view_xview = 0
- if view_yview < 0
- view_yview = 0
- if view_xview > room_width-view_wview
- view_xview = room_width-view_wview
- if view_yview > room_height-view_hview
- view_yview = room_height-view_hview
[/hide]
Bei dem eigenen Versuch habe ich ein wenig experimentiert. Hier gibt es den einen oder anderen Feher, den ich nicht beseitigen kann.
Man kann nach rechts laufen aber das Sprite bleibt immer in der "Player_IDEL_Rechts" wenn ich nach links gehe funktioniert es ohne probleme. Nach dem ich nach links gegangen bin und nach rechts weiter laufen möchte wechselt zwar das sprite wieder auf Player_IDEL_Rechts aber bewegt sich nicht mehr nach rechts.
[hide= Code End Step Eigener versuch]
GML-Quellcode
- hspeed = 0;
- if keyboard_check (vk_right) // Steuerung Rechts
- {
- hspeed += 5;
- vargo = "go"
- lastpressed = "right"
- }
- else
- vargo = "stop"
- if keyboard_check (vk_left) // Steuerung Links
- {
- hspeed -= 5;
- vargo = "go"
- lastpressed = "left"
- }
- else
- vargo = "stop"
- if place_free (x,y+10)
- { // Wenn wir in der Luft sind
- if lastpressed == "right"
- sprite_index = Player_Sprung_Rechts
- else
- sprite_index = Player_Sprung_Links
- }
- else
- { //Wenn wir am Boden sind
- if vargo == "go"
- {
- if lastpressed == "left"
- sprite_index = Player_Links
- else
- sprite_index = Player_Rechts
- }
- else
- {
- if lastpressed == "left"
- sprite_index = Player_IDEL_Links
- else
- sprite_index = Player_IDEL_Rechts
- }
- }
- image_index = x/20 // Animation
Über Hilfe und verbesserungen wurde ich mich freuen.
[hide=behoben mit "if keyboard_check_released"]
GML-Quellcode
- hspeed = 0;
- if keyboard_check (vk_right) // Steuerung Rechts
- {
- vargo = "go"
- hspeed += 5;
- lastpressed = "right"
- }
- if keyboard_check_released (vk_right)
- vargo = "stop"
- if keyboard_check (vk_left) // Steuerung Links
- {
- vargo = "go"
- hspeed -= 5;
- lastpressed = "left"
- }
- if keyboard_check_released (vk_left)
- vargo = "stop"
- if place_free (x,y+10)
- { // Wenn wir in der Luft sind
- if lastpressed == "right"
- sprite_index = Player_Sprung_Rechts
- else
- sprite_index = Player_Sprung_Links
- }
- else
- { //Wenn wir am Boden sind
- if vargo == "go"
- {
- if lastpressed == "left"
- sprite_index = Player_Links
- else
- sprite_index = Player_Rechts
- }
- if vargo == "stop"
- {
- if lastpressed == "left"
- sprite_index = Player_IDEL_Links
- else
- sprite_index = Player_IDEL_Rechts
- }
- }
- image_index = x/20 // Animation
Gruß Sveni
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Sveni () aus folgendem Grund: Habe den Fehlerselber gefunden :-)