Hallo,
vorweg erstmal ich bin absoluter Anfänger.
Mein Problem, wie beschreibe ich das am besten, ah am einfachsten ist es ihr schaut euch eben das folgende Video an,
da könnt ihr sehen das alle Laufrichtungen Animiert werden. Nur nicht die für hoch und runter.
[video]http://youtu.be/CsJmRUmSE2o[/video]
Hier noch der Code dazu
Spoiler anzeigen
Alles anzeigen
Was mich daran verwirrt ist das die Animation ja da ist und auch geht, aber leider nur wenn man schräg rauf oder runter Läuft.
Wäre toll wenn mir einer das mal erklären könnte, wieso das Objekt nicht Animiert ist wenn es nach oben oder unten geht.
Was habe ich falsch gemacht oder wo steckt der Fehler?
vorweg erstmal ich bin absoluter Anfänger.

Mein Problem, wie beschreibe ich das am besten, ah am einfachsten ist es ihr schaut euch eben das folgende Video an,
da könnt ihr sehen das alle Laufrichtungen Animiert werden. Nur nicht die für hoch und runter.
[video]http://youtu.be/CsJmRUmSE2o[/video]
Hier noch der Code dazu
GML-Quellcode
- // Variablen
- // ---------
- // Solange keine Taste gedrückt wird, bleibt das Objekt stehen.
- // hspeed steht für Horizemtale (X Achse) laufgeschwindigkeit.
- // vspeed steht für Vertikale (Y Achse) laufgeschwindigkeit.
- //
- hspeed = 0
- vspeed = 0
- // Tastaturbefehle
- // ---------------
- // Wenn die Taste ESC gedückt wird, wird das Spiel beendet
- //
- if keyboard_check (vk_escape) == true
- {
- game_end()
- }
- // Tastatursteuerrung Spieler
- // -------------------------
- // Wenn lshift und eine der Bewegungstasten
- // gedrückt wird und die Ausdauer größer als 0 ist,
- // nur dann bewegt sich das Object(Spieler) mit einer
- // Geschwindigkeit von 4.
- // Ansosten ist die Laufgeschwindigkeit 2.
- //
- if keyboard_check(vk_lshift) and p_laufen = true and p_ausdauer > 0
- {
- p_rennen = 4
- p_ausdauer -= 0.8
- }
- else
- {
- p_rennen = 2
- p_ausdauer += 0.8
- }
- if p_ausdauer > 100 // Ist die Ausdauer größer als 100,
- {
- p_ausdauer = 100 // dann setze die Ausdauer wieder auf 100
- }
- if p_ausdauer < 0 // Ist ausdauer kleiner als 0;
- {
- p_ausdauer = 0 // dann setze die Ausdauer wieder auf 0
- }
- // Spieler läuft los sobald die entsprechende
- // Taste gedrückt wird.
- //
- if keyboard_check(ord("A")) == true
- {
- sprite_index = spr_pl_left
- hspeed -= p_rennen
- p_laufen = true
- }
- if keyboard_check(ord("D")) == true
- {
- sprite_index = spr_pl_right
- hspeed += p_rennen
- p_laufen = true
- }
- if keyboard_check(ord("W")) == true
- {
- sprite_index = spr_pl_back
- vspeed -= p_rennen
- p_laufen = true
- }
- if keyboard_check(ord("S")) == true
- {
- sprite_index = spr_pl_front
- vspeed += p_rennen
- p_laufen = true
- }
- image_index = x/15 // gibt die geschindigkeit der Lauf - Aniamtion an
- // Kollisionsabfragen
- // ------------------
- // Spieler darf nicht durch Objekte gehen.
- // Die auf Solid gesetzt sind.
- //
- if (place_free(x+hspeed,y)) == false
- {
- hspeed = 0
- }
- if (place_free(x,y+vspeed)) == false
- {
- vspeed = 0
- }
Was mich daran verwirrt ist das die Animation ja da ist und auch geht, aber leider nur wenn man schräg rauf oder runter Läuft.
Wäre toll wenn mir einer das mal erklären könnte, wieso das Objekt nicht Animiert ist wenn es nach oben oder unten geht.
Was habe ich falsch gemacht oder wo steckt der Fehler?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Radnak ()