Path game crash

  • GM 7

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

  • Path game crash

    So hab da mal noch nen Problem. Nach dem die Sprites stimmen, wollte ich die Weg Berechnung machen. Klapt soweit auch ganz gut. Es wird alles sauber umfahren. Nur passsiert dann nach ca 1 Minute ein crach.
    Hab schon in der SuFu nach geschaut. In ein ähnlichem Thread konnte aber nicht geholfen werden.

    Woran liegt das. Klar an der Weg findung. Aber das mus doch irgend wie auch ohne Crash gehen oder ?
    Hier ist der code aus dem Step-Event

    GML-Quellcode

    1. xgoal=mouse_x
    2. ygoal=mouse_y
    3. if distance_to_point(xgoal,ygoal)>10 then
    4. {
    5. mp_potential_path(way,xgoal,ygoal,1,1,true)
    6. path_start(way,1.5,0,0)
    7. }
    8. else
    9. path_end()

    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Hat leider nicht geholfen. Ich denke mal das es Warscheinlich zuviel Performance für den Rechner ist und er des wegen abschaltet das Spiel. Aber ist nicht schlim. Dann muss ich meine 3d Variant davon weiter Machen. Da hab ich zwar ander Probleme, aber die Weg findung klapt dort besser..

    PS ich hatte es auch schon mit grid_path versucht. Soweit auch ganz gut aber das sah sehr komisch aus. Das die einheiten nicht genau auf dem Path gefahren sind und sich wie auf einer schiene zum Path hin gedreht hatten. So all ob der Mittelpunkt des Sprites verschoben wäre.
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Wenn es sich wirklich um ein Crash handelt (also keine Error-Mitteilung), dann liegt es nicht an dem von dir angegebenen Code. Solche Crashs werden normalerweise ausgelöst, wenn ein Event sich direkt oder indirekt selbst aufruft (Das bekannteste Beispiel wäre ein Destroy Event, das alle Instanzen des gleichen Objektes löscht).
    Desweiteren ist mir aufgefallen, dass du den factor auf 1 gesetzt hast, was laut der Hilfe nicht erlaubt ist (da steht er muss GRÖSSER als 1 sein). Dieser Faktor gibt an wie lange der Pfad werden darf (Faktor*Distanz zwischen Start und Ziel). Setzt du den auf 1, so wird eigentlich nur ein Weg gefunden, wenn dieser Weg eine gerade Linie ist. Am besten du nimmst da einen Faktor 4 oder so.
    int (*x(*x(int))[5])(int*);
    Confused? Yes, it's C!