Problem mit "dynamischen" Pfaden

  • GM 6

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

  • Problem mit "dynamischen" Pfaden

    Hallöchen zuammen,

    ich hab mal wieder nen kleines Problem, und ich versuch mich da schon ne Weile dran.

    Ich arbeite derzeit an einem TowerDefense Game und möchte dass die Pfade auf denen die Gegner laufen sowohl dynamisch, als auch "smooth" sind.

    Wenn ich den Code ins Create Event packe...

    GML-Quellcode

    1. mp_grid_path(global.Netz,meinPfad,x,y,obj_goal.x,obj_goal.y,false);
    2. path_set_kind(meinPfad,1);//0 = hard , 1 = smooth
    3. path_set_precision(meinPfad,8)//
    4. path_start(meinPfad,sp,0,1);

    ...erstellt sich der Pfad mit runden(smooth)Ecken und die Gegner folgen diesem(smooth), aber wenn ich das Grid befülle(mit Towern), laufen die Gegner durch, da der Pfad ja fix ist.

    Tu ich selbigen Code ins Step Event hab ich den Pfad dynamisch und kann ihn jederzeit durch Tower verändern. Allerdings entfällt das "Runde" und wird eckig und die gegner "ploppen" in die Laufrichtung.
    Zudem laufen sie eher neben dem Pfad als auf ihm drauf, was bei der "Create Variante" nicht der Fall ist.

    Habt ihr eine Idee wie ich beides bewerkstelligen könnte?


    Greetz BM
    Bilder
    • TD-CREATE.png

      17,92 kB, 638×480, 187 mal angesehen
    • TD-STEP.png

      20,33 kB, 638×479, 212 mal angesehen
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Nein, denn ich hab ja dann immernoch keine Dynamik in den Pfaden , sobald ich Tower aufbaue. Die Pfade werden im Create ja nur 1x generiert und dann bleiben sie so.
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.
  • Generell müsstest und solltest du den Pfad nur neu berechnen, sobald du einen Turm baust, da die Funktion, nicht die schnellste ist und auch nicht für permanentes ausführen gedacht ist. Dann müsste es auch mit dem Rest funktionieren. Wenn du es nämlich im Step-Event ausführst, führt das dazu dass jeden Step ein neuer Pfad generiert wird und die Instanz dann jeden Step einen neuen Pfad beginnt, weswegen die smooth Option auch nicht wirkt.

    © 2008 by Teamgrill Productions
  • Das war ein sehr guter Tip MasterXY. Nun hab ich ein Dynamisches Rundes Maze :D.
    Ich checke nun einfach nur im Begin Step(geht nur dort), ob gebaut wurde mit ner Verariable und lasse dann den Codeschnipsel neuladen und resette die Variable.

    Besten Dank
    Es gibt viel zu tun, packen wir´s an !!!
    Für Rechtschreibfehler sind die verantwortlich, die sie entdecken :P.