Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Objekt bewegen (https://www.delphipraxis.net/70186-objekt-bewegen.html)

Yheeky 26. Mai 2006 14:15


Objekt bewegen
 
Hi,

ich habe ein Objekt auf einer Form, welches ich über einen Timer zu einer anderen Position wandern lassen will. Angenommen das Objekt befindet sich auf Left=100 Top=100 und es soll nach Left=200 Top=200 ist es ja relativ einfach weil man es immer 1 nach unten und eins nach rechts bewegen muss.
Wie geht das aber wenn ich die Position Left=304 und Top=91 habe? Ich bekomme das irgendwie nie mit einer einheitlichen Geschwindigkeit hin von daher bräuchte ich da mal eure Hilfe. Danke.

Hawkeye219 26. Mai 2006 14:52

Re: Objekt bewegen
 
Hallo Christian,

ein Artikel über den Bresenham-Algorithmus könnte dir weiterhelfen.

Gruß Hawkeye

Flare 26. Mai 2006 15:34

Re: Objekt bewegen
 
Es würde auch über ausrechnen des Winkels und dann über die Winkelfunktionen sin und cos gehen...wobei das garantiert langsamer ist.


Flare

Yheeky 26. Mai 2006 19:56

Re: Objekt bewegen
 
Zitat:

Zitat von Hawkeye219
ein Artikel über den Bresenham-Algorithmus könnte dir weiterhelfen.

Okay, da werde ich mich morgen mal reinlesen. Danke!

Yheeky 27. Mai 2006 02:22

Re: Objekt bewegen
 
Hi,

also habe mich mal versucht ein wenig reinzulesen (bei der Uhrzeit aber nicht mehr sooo effektiv *g*). Bisher habe ich die Grundstrukturen ja hinbekommen, aber wie ich das nun genau gezeichnet und bewegt bekomme, weiss ich nicht so genau. Habe mal das Beispiel angehängt. Vielleicht kann mir jemand auf die Sprünge helfen. Wäre super...

Yheeky 27. Mai 2006 14:32

Re: Objekt bewegen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Okay, nun habe ich es doch geschafft. Bisher funktioniert allerdings nur der Weg von links unten nach rechts oben.
Das dumme ist, dass der StartLabel viel langsamer ist, wenn der Winkel flach ist. Wenn der Winkel steil ist, ist der StartLabel schnell beim Ziellabel. Wie kann ich da die Geschwindigkeit angleichen? Über den Winkel würde ich das machen, aber mir fehlt da die Relation :(


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz