Shapes per Timer bewegen

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Sturmvogel.

    Shapes per Timer bewegen

    Hallo an alle,
    ich bin neu hier und habe vor kurzem mit VB2008 angefangen.......und schon jetzt eine Frage
    Wie kann ich ein Shape ,zB. Oval, durch den Timer nach rechts und gleichzeitig oben bewegen.

    Ich freue mich auf Antworten und bedanke mich schon im voraus.

    MFG

    MPIler

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

    Weißt du wie du was mit einem Timer ausführst? Weißt du wie du das Objekt verschiebst? Dann verschiebe das Objekt in dem Timer Event.

    Was passiert beim Verschieben? Die Position (engl. Location) verändert sich. Diese ist ein Punkt (engl. Point) mit den Parametern X und Y für die Koordinaten. In dem Timer-Tick Event kannst du dann die Position verändern.
    Hinweis vorab: Windows Forms Anwendungen sind für solche grafischen Spielereien eigentlich nicht gedacht. Flackern oder andere unschöne Nebeneffekte gehen häufig mit einher.

    Zu deinem Problem. Eigentlich ist das einzige was du wissen mußt, daß die linke obere Ecke die Koordinaten (0,0) hat. Die rechte obere Ecke hat also die Koordinaten (x,0). Ausgehend von einem beliebigen Punkt auf der Form mußt du also von den Koordinaten (x,y) deines Punkts schrittweise (dadurch kommt die Bewegung zustande) soviel abziehen bis du bei den gesuchten Koordinaten (x,0) ankommst. x bestimmt sich nach der Breite des Fensters.

    f0x
    vb und flüssig? Nein wohl kaum. VB ist für mich ne tolle Sprache wenns um nicht grafische normale Programme geht, aber wenns um Spiele oder auch nur im Ansatz irgendwie um Grafik geht hört vb schon bei Doublebuffering auf. Ich habe das selbe Programm einmal mit vb und einmal mit C#(XNA) geschrieben. vb hat geflackert wie sau, C# war noch schön flüssig.

    Also wenn dir deine Grafiken am Herzen liegen musst du wohl umsteigen. Wenns allerdings unbedingt sein soll must du eben den Timer Intervall zurückstufen. Dann ruckelts halt... wenns dir lieber ist als flackern...

    lg