Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

Re: Timer + Zeichnen(+Bewegen) im Koordinatensystem - WIE?

  Alt 24. Feb 2009, 17:05
Falls du nur einen Kreis über das Formular bewegen willst, ist der Code überdimensioniert. Der Code ist eher für kleine Spiele/Simulationen mit mehreren Objekten.

Falls es bei dem einen Kreis bleibt:

Eine Schleife, die erst die Position des Objekts ändert und dann Application.Processmessages aufruft.

Ansonsten hier nochmal eine Erklärung, zugegebenermaßen ist der Code den ich da (unten) gepostet habe schon etwas kniffelig.

Aaaalso: Der Code benutzt keinen Timer, sondern eine Schleife. Dadurch ist die Bewegung so schnell wie möglich. Dann wird die Zeit ausgerechnet, die seit dem letzten Frame vergangen ist.

Diese Zeitdifferenz wird dann an die Objekt weitergeben. Du brauchst nämlich nicht die Zeit seit Timerstart, sondern die Zeit seit dem letzten Frame.

Dann kannst du dir zunutze machen, dass Geschwindigkeit ja nichtzs anderes ist als "Differenzstrecke pro Sekunde" - wenn du also die Geschwindigkeit mit der Zeitdifferenz multiplizierst, erhälst du eine Strecke - sozusagen eine Positionsdifferenz - die du zu deiner aktuellen Position addieren kannst, um die neue Position zu erhalten.
  Mit Zitat antworten Zitat