gegner ändert richtung bei wand nicht

  • GM 7

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • gegner ändert richtung bei wand nicht

    hi,
    wie überschrift schon sagt ändert sich die richtung von mein gegner nicht... er soll nach rechts laufen und wenn da eine wand ist soll er in die endgegengesetzte richtung laufen und umgekehrt auch.
    bei mir läuft er bis zum wand und dann bleibt er stehen, als würde er hängen bleiben
    hab in create event den hspeed auf 3 gesetzt.

    Step event:

    GML-Quellcode

    1. if (hspeed > 0)
    2. {
    3. old_index = image_index;
    4. sprite_index = gegner_rechts;
    5. image_index = old_index;
    6. }
    7. if (hspeed < 0)
    8. {
    9. old_index = image_index;
    10. sprite_index = gegner_links;
    11. image_index = old_index;
    12. }
    13. image_index = x/10;
    14. if (place_free(x+hspeed,y) == false)//Kollisionserkennung Links-Rechts
    15. {
    16. if (hspeed > 0)
    17. {
    18. move_contact_solid(0,-1);
    19. }
    20. if (hspeed < 0)
    21. {
    22. move_contact_solid(180,-1);
    23. }
    24. hspeed = -hspeed;
    25. }
    26. vspeed += 1;//Gravitation
    27. if (place_free(x,y+vspeed) == false)//Kollisionserkennung Oben-Unten
    28. {
    29. if (vspeed > 0)
    30. {
    31. move_contact_solid(270,-1);
    32. }
    33. if (vspeed < 0)
    34. {
    35. move_contact_solid(90,-1);
    36. }
    37. vspeed = 0;
    38. }
    39. if (place_free(x+hspeed,y+vspeed) == false)//Nicht an Ecken hängen bleiben
    40. {
    41. hspeed = 0;
    42. }
    Alles anzeigen
  • Wenn die Wand solid ist, wird h+vspeed auf 0 gesetzt.
    moment, ich bastel dir gleich einen code...

    GML-Quellcode

    1. var old_index;
    2. hspeed = -hspeed
    3. if (hspeed > 0)
    4. {
    5. old_index = image_index;
    6. sprite_index = gegner_rechts;
    7. image_index = old_index;
    8. }
    9. if (hspeed < 0)
    10. {
    11. old_index = image_index;
    12. sprite_index = gegner_links;
    13. image_index = old_index;
    14. }
    15. image_index = x/10;
    16. if (place_free(x+hspeed,y) == false)//Kollisionserkennung Links-Rechts
    17. {
    18. if (hspeed > 0)
    19. {
    20. move_contact_solid(0,-1);
    21. }
    22. if (hspeed < 0)
    23. {
    24. move_contact_solid(180,-1);
    25. }
    26. hspeed = -hspeed;
    27. }
    28. vspeed += 1;//Gravitation
    29. if (place_free(x,y+vspeed) == false)//Kollisionserkennung Oben-Unten
    30. {
    31. if (vspeed > 0)
    32. {
    33. move_contact_solid(270,-1);
    34. }
    35. if (vspeed < 0)
    36. {
    37. move_contact_solid(90,-1);
    38. }
    39. vspeed = 0;
    40. }
    41. if (place_free(x+hspeed,y+vspeed) == false)//Nicht an Ecken hängen bleiben
    42. {
    43. hspeed = 0;
    44. }
    Alles anzeigen

    Edit: eigentlich müsste das so gehen.
    Kopiere dies in deine Signatur, um es in deiner Signatur zu haben.
    Achtung: Dieser Beitrag läuft ende des Monats ab, bitte lese ihn noch vor dem Monatswechsel...
    Nach langer zeit wieder im Forum aktiv :D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Larsi ()

  • Benutzer online 1

    1 Besucher