Bei Richtungswechsel eines Pfades den Sprite änden

  • GM 7
  • Bei Richtungswechsel eines Pfades den Sprite änden

    Hallo, zusammen

    Habe ein kleines Problem.
    Ich habe 1 Monsterobjekt und 4 Sprites.

    Das Monster(obj_monster) folgt dem Pfad.
    Nur ist die Richtung des Pfades nicht immer die selbe --> rauf,runter,links,rechts.
    Darum habe ich 4 Sprites --> 1 Pro Richtung <-- gemacht.

    Wenn mein Objekt nun an eine Kurfe kommt, soll das dementsprechende Sprite als Sprite von obj_monster dienen.

    Ich habe es folgendermasen versucht, es aber nicht geschafft.

    Spoiler anzeigen

    Ich habe den script hier --> src_ausrichtung <-- beim monster in den StepEvent getan.

    GML-Quellcode

    1. // d=down; u=up; l=left; r=right;
    2. if(obj_monster.direction = 0) // 0°
    3. {
    4. sprite_index = spr_monster_r;
    5. }
    6. if(obj_monster.direction = 90) // 90°
    7. {
    8. sprite_index = spr_monter_u;
    9. }
    10. if(obj_monster.direction = 180) // 180°
    11. {
    12. sprite_index = spr_monster_l;
    13. }
    14. if(obj_monster.direction = 270) // 270°
    15. {
    16. sprite_index = spr_monster_d;
    17. }
    Alles anzeigen


    Ich weiss nicht, wass ich anstelle von --> obj_monster.direction <-- nehmen soll.
    Habt ihr eine Ahnung?

    Mfg
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Ja, könnte ich. Aber das ist ja nicht notwendig, wenn ich nur gerade Linien im Path habe.

    Nein, das Problem, vergass ich übrigens zu erwähen, ist das : -->Unknown variable direction
    Leider weiss ich nicht, wieso es so nicht geht.

    Mfg
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Es ist so, dass ich das Objekt von einem anderen Objekt --> game_global <-- erstellen lasse.
    Der Script ist in dem StepEvent und der Pfad ist im Create Event.

    Das Objekt sollte das aber trotzdem erkennen oder?

    Mfg


    EDIT : Ich glaub es hat sich erledigt. Ich gebe dann bescheid

    [Zusammengeschoben durch CAS]

    Also, das Problem hat sich erledigt. (oben)

    Aber ich habe jetzt ein anderes Problem.
    Ich möchte nun nicht nur ein Monster, sondern mehrere (Trupp von 5 Monstern) den Pfad folgen lassen.
    Dabei gibt es natürlich das Problem, dass wenn alle das selbe Objekt sind, sich die Hinteren schon drehen, wenn das erste Monster um die Kurve ist.

    Wie würdet ihr das lösen? :|

    Das ganze sollte ungefähr einmal aussehen wie ein Defense-Game.


    Mfg
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Setz doch einfach ins step-event des Monsters(bei Top-Down Perspektive):
    image_angle=direction;

    oder bei anderer Perspektive (auch ins Step-Event):
    if (direction<=90)
    {
    }
    else if (direction<=180)
    {
    }
    else if (direction<=270)
    {
    }
    else
    {
    }
    und dann natürlich in die Klammern die entsprechenden Sprite zuweisungen setzen

    Gruß, Spell
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Mit --> image_angle=direction <-- würde es schon gehen, aber wenn das Monster kreirt wird, dreht es sich bereits einmal --> sollte nicht so sein.

    Wie kann ich das ändern?
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Dann machst du halt folgendes:
    1.Du überlegst dir, in welche Richtung das Monster beim erstellen gucken sollst
    2. Ins Create-Event: image_angle=überlegte Richtung
    oder hab ich jetzt was falsch verstanden?
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Ja weisst du, das Monster sieht nach unten und läuft auch nach unten. Aber am Start dreht es sich zuerst einmal.
    Dh. Das Monster läuft nach unten, aber sieht nach links.

    Klar kann ich den Sprite einfach so wenden, dass er zuerst rechts erscheint und sich dann nach unten dreht.

    Aber das sieht voll albern aus. Gibts nicht eine gescheitere Lösung? :rolleyes:


    Mfg
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Ich verstehe ehrlich gesagt nicht, was daran albern sein soll. Es ist eine Lösung, sie ist nicht besonders
    umständlich und sie funktioniert. Was natürlich besser ist als mein Vorschlag wäre, im Create-Event
    zuerst den Pfad zu setzen und dann mit image_angle=direction; die Blickrichtung zu ändern, dann brauchst
    du nicht nachschauen, wie der Pfad startet
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Mit albern meine ich auch nicht deine Lösung. Sondern dass das Monster zuerst rechts entsteht und dann gedreht wird --> meine Lösung.

    Es ist mir ein Rätsel, wieso, wenn ich das Monster nach unten erstelle, das Monster dann nicht auch nach unten geht (ohne zu drehen).
    Ausserdem habe ich noch einen anderen Raum, bei dem ich den Start links habe und der Pfad nach rechts verläuft. --> Das funzt dann wieder


    Ach ich weiss auch nicht, woran das liegt. Am besten ich mache den Raum nochmals neu. :|


    Danke für deine bzw. eure Hilfe :)
    Das Problem zu erkennen ist wichtiger,
    als die Lösung zu erkennen,
    denn die genaue Darstellung des Problems führt zur Lösung.
    ( Albert Einstein )


    I am an according to the gml n00b test!
  • Benutzer online 1

    1 Besucher