nach laden falsche partikel!

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

  • nach laden falsche partikel!

    hi zusammen,
    ich steh grad vor einem absolut blöden problem, das gerade droht mal wieder ein komplettes projekt zu zerstören... :(
    ich hab n autosave eingebaut, damit man beim neustarten vom spiel an der gleichen position weiterspielen kann an der man aufgehört hat. logisch ;)
    nun folgendes problem:
    das fahrzeug erzeugt reifenspuren in form von partikeln. die partikeln bestehen aus sprites und funktionieren wunderbar.
    die partikel werden im create-event des fahrzeuges definiert und im alarm alle 5 steps erstellt.
    jetzt wird das spiel beendet und gespeichert.
    nach dem erneuten starten und laden des autosaves werden nun aber nichtmehr die reifenspuren erstellt sondern der partikeleffekt, welcher als erster nach dem neustart irgendwo erschienen ist.

    weiß jemand woran das liegen könnte?
    macht es sinn den partikeleffekt nicht im create-event sondern direkt im alarm zu definieren?

    gruß HIM
  • Ich denke mal du benutzt das standart Speichersystem das beim GameMaker automatisch dabei ist.
    Mit dem hat ich auch schon meine schwierigkeiten.
    Ich denke mal es liegt daran das dein Spielerobjekt ja beim laden nicht
    neu erstellt wird und somit der create Event nicht beachtet wird.
    Ich habs immer über Umwege gelöst, indem ich nach jedem Levelabschnitt wo
    gespeichert werden soll einen Speicherraum erstellt habe indem nur das
    Speicherobjekt platziert ist und sonst nichts. Und wenn dann
    gespeichert wurde, wird man eben in den nächsten Levelabschnitt
    transportiert. So läd der GameMaker den Levelabschnitt komplett neu und
    erstellt auch deine Spielfigur neu was soviel heißt das der create
    Event ausgeführt wird. Bei Variablen die mitgenommen werden sollen in den nächsten Levlabschnitt kannst du
    ja einfach ein global davor setzen. Der Nachteil ist halt das du nicht mitten im Level speichern kannst.
    Wahrscheinlich geht es auch einfacher, bin aber auch nicht dahinter gekommen.

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

  • sorry.. woher soll ich wissen, was ihr wissen müsst um mir helfen zu können, wenn ich doch selbst nicht wirklich weiß, wo ich genau anfangen soll zu suchen? ;)
    ja ich nutze die standartfunktionen game_save() game_load()..
    ich speichere einmal im temporären ordner wenn man ins pause-menü geht und sobald beendet wird, wird nochmal im spielverzeichnis gespeichert.

    es scheint am create-event zu liegen.. wie GrinchXL schon vermutet.. ich hab die partikel jetzt mal im alarm definiert und es funktioniert.. aber kann das denn das wahre sein?
    gibts da nicht noch eine sinnvollere lösung?
  • Guter Ansatz

    Und wenn er gerne den Objekte bestimmte Dinge zuweisen möchte, kann er diesen Code verwenden:

    GML-Quellcode

    1. var inst;
    2. var i;
    3. for (i = 0; i < instance_count; i += 1)
    4. {
    5. inst = instance_id[i];
    6. if (inst.object_index == OBJDEINOBJEKT) {
    7. with(inst) {
    8. //mach irgendwas
    9. }
    10. }
    11. }
    Alles anzeigen


    Anpassen musst du natürlich musst du OBJDEINOBJEKT - oder mit einem switch:

    GML-Quellcode

    1. for (i = 0; i < instance_count; i += 1)
    2. {
    3. inst = instance_id[i];
    4. switch(inst.object_index) {
    5. case OBJDEINOBJEKT:
    6. //Befehle
    7. break;
    8. case OBJANDERESOBJEKT:
    9. //Befehle
    10. break;
    11. //usw.
    12. }
    13. }
    Alles anzeigen
    On teh internet u pwn noobs - but in real life noobs own you.

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

  • danke für eure tipps!
    ich habs jetzt erstmal so geregelt, dass nur nach dem beenden eines levels gespeichert wird.
    dadurch wird beiim laden dann gleich der nächste raum geladen und die objekte werden neu erstellt und führen so auch ihr create-event aus.

    der ansatz mit dem alarm kurz vorm speichern gefällt mir am bessten. ist ja auch der einfachste ;)
    den werd ich mal ausprobieren :)
  • Benutzer online 1

    1 Besucher