Nur ein Teilstück vom path zeichnen lassen

  • Nur ein Teilstück vom path zeichnen lassen

    Ich möchte einen path zeichnen lassen. Soweit kein Problem. Ich möchte aber nur ein Teilstück des path zeichnen lassen und zwar von einer instance aus, die sich gerade dem path entlang bewegt. Also der Weg, der von dieser instance bereits beschritten wurde, soll nicht mehr gezeichnet werden. Ich habe das erst wie folgt gelöst:

    GML-Quellcode

    1. abdazeichnen = path_get_number(pfad)*path_position + 1
    2. for (i = abdazeichnen; i <= path_get_number(pfad)-1; i += 1)
    3. {
    4. draw_line(path_get_point_x(pfad,i),path_get_point_y(pfad,i),path_get_point_x(pfad,i-1),path_get_point_y(pfad,i-1))
    5. }


    Aber diese Lösung gefällt mir überhaupt nicht. Zum Einen kann es sein, dass der path z.B. nur drei points hat, dann ist er schneller weg, als die instance in beschreiten kann. (mit weg mein ich, wird nicht mehr gezeichnet) Zum anderen ist bei dem path smooth angestellt. Der bei meiner linekette nicht zusehen ist.

    Also wie gesagt, da bewegt sich eine instance einem path entlang. Ihr path soll gezeichnet werden, aber nur von ihr aus. Den Weg den sie schon gegangen ist, will ich nicht mehr sehen. Kann mir da jemand helfen?

    Schon mal danke, Raphi
    Anderer Leuten Signaturen sind... anderer Leuten Signaturen!


  • vielleicht:
    draw_line
    (x,y,path_get_point_x(pfad,path_position + 1),path_get_point_y(pfad,path_position + 1))
    ?^^

    das mit dem smooth path zeichnen ist durchaus auch zu lösen, aber in Mathematik bin ich nicht so stark ;)
    "das war meine letzte flamewar PM an dich ."
  • Nein, funktioniert so leider gar nicht. Hat nicht jemand ne Idee? Ich will dass unbedingt hinkriegen.
    Anderer Leuten Signaturen sind... anderer Leuten Signaturen!


  • ich hab was :D

    GML-Quellcode

    1. for (i = path_position; i < 1; i += res)
    2. {
    3. draw_line(path_get_x(pfad,i),path_get_y(pfad,i),path_get_x(pfad,i+res),path_get_y(pfad,i+res))
    4. }


    statt path_get_point_x hab ich path_get_x genommen, also die position im pfad zwischen 0 und 1.
    res ist die auflösung, je kleiner, desto mehr linien werden zwischendrinn gezeichnet.

    je kleiner res ist, desto schöner das resultat(vl so 0.01).
    gibt einen ganz lustigen effekt :D

    ist natürlich nicht besonders schön gelöst, aber funktioniert (nicht schön, aber es tut)...
    "das war meine letzte flamewar PM an dich ."
  • Vielen, vielen Dank!!! Ist nicht 100% so wie ich es wollte, aber tausend mal besser wie meine Lösung. Danke!
    Anderer Leuten Signaturen sind... anderer Leuten Signaturen!


  • Benutzer online 1

    1 Besucher