Pictureboxen sollen Mauspfad folgen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von nafets3646.

    Pictureboxen sollen Mauspfad folgen

    Hallo,

    ich habe vor, mein erstes kleines 2D-Spiel zu programmieren.
    Dabei sollen Symbole jeweils ihrem Pfad folgen, den ich zuvor mit der Maus gezogen habe. (Später dann auch miteinander interagieren)
    Leider bin ich noch kaum erfahren im Programmieren und stoße jetzt an meine Grenzen:

    Ich habe meine Symbole in Pictureboxen importiert und den Pfad per mousemove eingegeben/abgespeichert.
    Mit einem Timer lass ich dann die picturebox entlang des Pfades wandern.
    Als Hintergrund für das Spiel habe ich ein Bild (bmp) als background eingefügt.
    Das alles führt dazu, dass mein PC sogar bei nur einer Figur an seine Grenzen stößt :/
    und auch der Pfad gefällt mir nicht wirklich (sehr eckig)...

    Google sagt, dass Pictureboxen für so ein Spiel generell der falsche Ansatz sind. Das hab ich nun auch selber gemerkt!

    Meine Frage wäre nun, was würdet ihr mir stattdessen empfehlen?
    Habt ihr Tipps für mich, was ich generell beachten sollte?
    Ist GDI+ der wirklich beste Ansatz für so ein Spiel? (xna wird wohl vorerst zu schwierig sein für mich als anfänger^^)
    ...oder WPF?
    Kennt ihr evtl. Tutorials, die mir weiterhelfen? (Im Openbook z.B. steht nur wenig übers Zeichnen mit GDI)

    Vielen Dank schonmal im Voraus!
    mfg
    Okay, schonmal danke soweit!!
    Das Zeichnen klappt jetzt soweit ganz gut und bis jetzt läuft das ganze auch super flüssig! :)

    Ich hätte jetzt noch eine weitere Frage:
    Und zwar, speichere ich per mousemove den Weg ab, den die Maus wandert (und den das symbol nachwandern soll).
    Leider sind die Abstände der Punkte, die ich da krieg, von der Geschwindigkeit abhängig, mit der ich die maus ziehe, also ned gleich groß.

    Wenn ich nun eine Linie zwischen jeweils zwei punkten zeichnen lasse (drawline), kann ich dann ALLE punkte der Linie in ein neues array speichern?

    (Per pathpoints oder pathdata krieg ich wieder nur den anfangs und endpunkt der linie, aba ned die dazwischen :/
    Ich könnte die punkte dazwischen mit ner formel (y=mx+t) berechnen lassen,
    aber wenn ich z.b. ne kurve (drawcurve) zeichnen lasse, dann komm ich nicht mehr an die punkte dazwischen ran...)
    Mach dir halt ne List(Of Point) oder noch besser gleich nen IEnumerable(Of Point), in diesen du dann die Punkte drin abspeicherst. Um die Punkte zu generieren kannst du ja den hier gepostete Lösungsansatz verwenden: codeproject.com/Questions/224182/Get-all-points-in-a-Line