GraphicPath

  • VB.NET

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Klenix.

    GraphicPath

    Hallo Leute,
    ich möchte in einem Spiel den weg den die figur gegangen ist per linie auf der minimap für 10 sekunden markieren und dann langsam von hinten wieder entfernen.
    Ich hab danach gesucht und hab graphicPath gefunden, aber weiß nicht wie das gehen soll.
    Hi
    Ich würde eher nicht zu GraphicsPath tendieren. GraphicsPath kann ein aus Punkt und Verbindungstypen zusammengesetztes Punktearray auf einem DeviceContext abbilden. Das heißt, du übergibst an Graphics Punkte und Verbindungtypen und GraphicsPath macht daraus eine Grafik. Da wäre es besser, so etwas selber zu machen und eine LinkedList zu verwenden, der du immer einen Punkt hinzufügst mit dem relativen Zeitpunkt der Erstellung. Anschließend zeichnest du alle Punkte. Wenn der erste Punkt nicht mehr benötigt wird, weil genug Zeit verstrichen ist, entfernst du ihn wieder von der Liste. Du kannst natürlich abhängig von der Dauer der Existenz die Verbindung zu dem Punkt mit einem Alphakanal langsam ausblenden. GraphicsPath würde ich nicht verwenden, weil du immer das erste Element des Arrays entfernen müsstest und mit dem nachfolgenden Content überschreiben (da es ein Array ist). Listen sind dafür wie gemacht, weil du praktisch einen Puffer hast, der ans letzte Item ein Item hinzufügt und das erste einfach entfernen kann.

    Gruß
    ~blaze~
    hmm, z.b:

    VB.NET-Quellcode

    1. Dim l as new list(of point)
    2. Public Sub a(byval x as integer, byval y as integer)
    3. l.add(new Point(x,y))
    4. end Sub
    5. Public Sub r()
    6. if l.count >= 201 Then
    7. l.removeat(0)
    8. endIf
    9. Timer1_tick()
    10. a(hero.x, hero.y)
    11. r
    12. end Sub
    13. Sub draw(byval z as graphics)
    14. for i as integer = 0 to l.count - 1
    15. z.drawline(color.blue, l.item(i), l.item(i+1)
    16. if i+1 = l.count Then
    17. exit Sub
    18. enfIf
    19. next
    20. end sub


    Is aus dem kopf geschrieben, vb kackt immer wieder ab ,-)
    War das so ungefähr gemeint?
    Klappt perfekt...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Klenix“ ()