"Pallettier Funktion"

  • GM 8

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

  • "Pallettier Funktion"

    Seit lange habe ich mal wieder eine Frage also :D



    Ich wollte mir mal eine einfach Strategiesteuerung bastel und jetzt bin ich an dem Punkt wo ich belibig viele Einheiten anwählen kann und zu einem Punkt schicke .

    Wenn sie dann da sind sollen sie sich in einem Vier oder Rechteck aufstellen halt wie ein Pallette . Jede Einheit hat die var geh_x und geh_y diese bestimmen wo sie hinlaufen müssen

    außerdem habe ich noch die var u_geh_x und u_geh_y die die Position speicher wo sie hinsollen . Jetzt dachte ich mir , dass das Obj überprüft ob eine andere Einheit an der Position wo sie hinsoll die sleben geh_x und geh_y hat und wenn das der fall ist geh_x + 34 um eine Position daneben zustehen . Puuh ich hoffe ich konnte meine Problem gut erklähren :D
  • Guten Morgen ^^

    Also ich bin derzeit an deinem Problem dran, ich habe es soweit gekommen das bis zu 5 Einheiten Formatier bar sind, ich habe einfach mal recht Freizügig die Rechteckige/Quadratische Form genommen ich hoffe du hast nichts dagegen, es ist so wie ich es mache ziemlich umständlich. Möglicherweiße gibt es eine einfachere Lösung, jedoch ist mir keine Eingefallen.

    Ich versuche noch ein bisschen dies auch für mehr Einheiten hinzukriegen und würde hier die Datei uploaden die du dir angucken und dann verwenden kannst. Sollte ich dies nicht hinkriegen uploade ich die Datei mit den bis zu 5 Formatierbaren Einheiten (nachdem ich dann auch ein bsischen Schlaf hatte).

    So oder so hoffe ich das dir das dann etwas weiterhelfen könnte, als Gedankenanstoss oder als möglicherweiße Lösungsweg (der bestimmt verbesser bar wäre, wie jedoch schon erwähnt weiß ich grade nicht wie).

    Bin dann nochmal fix am rumbasteln.

    Gruß Mokuyobi

    // Edit:
    So bevor ich jetzt Schlafen gehe, hier ist meine Lösung dieses Problems. Ich habe versucht dies noch einiger maßen gut zu Kommentieren, bin aber beim ersten mal durchlesen schon auf einige sehr komische Satzbau fehler getroffen, ich hoffe du verzeihst mir das, es ist schließlich gut halb 6 und ich bin jetzt ehrlich müde ^^.
    Bei weiteren Fragen zu den Skript/der Funktionsweiße/wie man es möglicherweiße Implementieren könnte, schreib einfach hier oder schreib mir eine PM

    Zur Version noch ebend: Habe mir grade mal schnell den Game Maker 7 runtergeladen, und geguckt ob man damit GM8 Dateien öffnen kann, dies geht leider nicht. Ich habe dir die gmk mit den Game Maker 7 deswegen abgespeichert, konnte es leider nicht Testen da ich kein Game Maker 7 Pro habe. Ich hoffe einfach mal es Funktioniert, den beim Game Maker 8 Funktionierte es Reibungslos.

    Viele Grüße,
    Mokuyobi
    Dateien
    • Formation.zip

      (23,48 kB, 151 mal heruntergeladen, zuletzt: )
    木曜日 (Mokuyōbi)

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

  • Danke für die lange ausführliche Antwort :D

    Ja das mit 5 Einheiten in einer Reihe habe ich auch so hinbekommen nur die Schwirigkeiht besteht ja darin , dass die 6 Einheit sozusagen eine Zeile Höher springt und dann wieder 5 in einer Reihe sich aufstellen über der 1Reihe

    so: |6|7|8|9|10

    |1|2|3|4|5



    achja beim deinem Prog bekomme ich den Error
    ___________________________________________
    ERROR in
    action number 1
    of Draw Event
    for object oEinheit:

    Error in code at line 2:
    draw_text(x,y,sID);
    ^
    at position 16: Unknown variable sID
    versuche ich mal zu beheben
  • Sorry für Doppelpost

    So ich habe jetzt eine Lösung gefunden :D zu erklährung geh_x , geh_y sind die var wo das obj_hum in gehen soll und u_geh_x und u_geh_y wo der Punkt ist wo der Spieler geklickt hat



    GML-Quellcode

    1. if (collision_point(geh_x,geh_y,obj_hum ,0,1)) // Wenn am Punkt wo hingegange werden soll jemand ist
    2. {
    3. if ((other.geh_x == geh_x) && (other.geh_y == geh_y) &&(other.speed == 0)) // Wenn der andere den selben geh zu punkt hat und sill steht
    4. {geh_x +=34;} // Stell dich Neben den der auf deine ursprüngliche Platz steht
    5. if point_distance(u_geh_x,u_geh_y,geh_x,geh_y) > 256 // Bedingung wenn die Reihe voll ist und in die Nächste gegangen werden soll
    6. {
    7. geh_x = u_geh_x; // Setzt den geh zu X wert auf den Ursprünglichen Geh X wert den der Spieler gelegt also anfang der Zeole
    8. if reihen_checker = 8 // Überprüft ob die Reihe schon 8 leute hat also ob sie voll ist
    9. {
    10. u_geh_y -= 34;
    11. geh_y = u_geh_y;
    12. reihen_checker = 0;
    13. }
    14. reihen_checker +=1; // Überprüfung + 1 nach 8 überprüfungen ( unter 8 blieben Plätze frei) macht er eine neue Zeile auf über der 1.
    15. }
    16. }
    Alles anzeigen
  • Benutzer online 1

    1 Besucher