pathpunkte

  • hallo,
    ich weiß nicht ob es überhaubt möglich ist aber ich stelle die frage trodsdem.

    kan man einen path drawen lassen, so das er im spiel sichtbar ist? es geht um follgendes:
    ich habe ein pathfinding (über die A* methode) in meinem game, und wollte nun das der weg den die einheit gehen wird sichtbar ist, ich habe aber keine ahnung wie man sowas anstellen soll. in der hilfe steht auhc nichts was ich gebrauchen könnte.
    :) Nobody is perfect (-:

    "Dummköpfe sind Denkerköpfen weit überlegen. Zahlenmäßig." Ernst Ferstl
  • Ich hab extra für dich schnell ein Script gebastelt und gleich zweimal verbessert. Rufe es einfach in einem Draw-Event auf, das erste Argument ist der Pfad, der angezeigt werden soll. Mit dem zweiten und dritten Argument wird die Position des Pfades in x und y Position angegeben. Soll der Pfad an der absoluten Position gezeichnet werden, sollte man diese zwei Argumente path_get_x(pfad,0) und path_get_y(pfad,0) setzen.

    GML-Quellcode

    1. path=argument0;
    2. detail=path_get_length(path);
    3. xx=path_get_x(path,0);
    4. yy=path_get_y(path,0);
    5. dif_x=argument1-xx;
    6. dif_y=argument2-yy;
    7. if(path_get_kind(path))
    8. {
    9. for (i=0;i<=detail;i+=1)
    10. {
    11. xx2=path_get_x(path,i/detail);
    12. yy2=path_get_y(path,i/detail);
    13. draw_line(dif_x+xx,dif_y+yy,dif_x+xx2,dif_y+yy2);
    14. xx=xx2;
    15. yy=yy2;
    16. }
    17. }
    18. else
    19. {
    20. for (i=0;i<path_get_number(path);i+=1)
    21. {
    22. xx2=path_get_point_x(path,i);
    23. yy2=path_get_point_y(path,i);
    24. draw_line(dif_x+xx,dif_y+yy,dif_x+xx2,dif_y+yy2);
    25. xx=xx2;
    26. yy=yy2;
    27. }
    28. if (path_get_closed(path)) draw_line(dif_x+xx,dif_y+yy,argument1,argument2);
    29. }
    Alles anzeigen
    Einige meiner Spiele:

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von interceptor ()

  • draw_path(path,x,y,absolute) Mit dieser Funktion wird der Pfad im Raum mit seiner Startposition bei (x, y) gezeichnet. Wenn absolute wahr ("true") ist, wird der Pfad dort gezeichnet, wo er definiert wurde und die x- und y-Werte werden ignoriert.
  • tja...alles umsonst. Aber hat Spaß gemacht :D Ich hab mir nur gedacht: DIE Funktion hätte er sicher selber gefunden und deshalb nicht danach gesucht...
    Nur fällt mir da gerade auf, dass das sowieso nichts bringt, da er ja zuerst mal einen Pfad haben muss und den bekommt er durch seine Methode nicht direkt.
    Du solltest stattdessen ähnlich wie in meinem Beispiel ein Pseudo-Objekt (oder einfach nur eine x und eine y Variable) deinen Pfad innerhalb eines Steps gehen lassen und die einzelnen Punkte mit draw_line() verbinden.
    Einige meiner Spiele:

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von interceptor ()