Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi "Animation" (https://www.delphipraxis.net/83410-animation.html)

Sh4d0w 2. Jan 2007 11:54


"Animation"
 
Moin!
Eine Frage:
Und zwar habe ich eine Imagekomponente auf meiner Form, wenn ich nun irgendwo auf die Form klicke, soll sich diese Komponente dort hin "bewegen", also nicht sofort da sein, sondern sich bewegen wie eine Animation...
Ich bekomme das nur so hin, dass die Komponente sofort da ist, wenn ich irgendwo auf die Form klicke. Hat irgendjemand vllt. eine Idee, wie sich die Komponente nur schritt für schritt dorthin "bewegt"?

Dankeschön!

Greetz,
Sh4d0w

Leuchtturm 2. Jan 2007 11:56

Re: "Animation"
 
Du könntest dieses Schrittweise mit einem Timer machen

Sh4d0w 2. Jan 2007 12:07

Re: "Animation"
 
Kannst du das vllt. noch näher beschreiben? Wie denn schrittweise?

jakobwenzel 2. Jan 2007 12:13

Re: "Animation"
 
Du berechnest den Abstand zwischen Start und Endpunkt (jeweils für x und y), teilst den Wert durch die Anzahl Einzelschritte und addierst diesen Wert in OnTimer.

Sh4d0w 2. Jan 2007 12:41

Re: "Animation"
 
hui, hört sich kompliziert an...naja, ich versuchs mal. Dankeschön!

agm65 2. Jan 2007 13:01

Re: "Animation"
 
nein ist ganz einfach, ich würde dir raten du nimmst ein animiertes bild (jedi anigif) und dann einfach im timer zB.
i := i + 1 (timer interval 200)

und dann halt anigif.left := i

genauso mit .top und ende = deine position

dann läufts :)

Sh4d0w 2. Jan 2007 13:08

Re: "Animation"
 
Zitat:

Zitat von agm65
nein ist ganz einfach, ich würde dir raten du nimmst ein animiertes bild (jedi anigif) und dann einfach im timer zB.
i := i + 1 (timer interval 200)

und dann halt anigif.left := i

genauso mit .top und ende = deine position

dann läufts :)

Es läuft halt...nur wie sag ich ihm, dass er nur dahin laufen soll, wo ich hinklicke?

Klaus01 2. Jan 2007 13:15

Re: "Animation"
 
Du hast die Koordinaten wo du hingeklickt hast und auch die Koordinaten des Images.
Aus diesen Koordinaten kannst Du eine imaginäre Linie basteln

x1,y1 -> xm,ym

Die wanderst Du dann entlang.

Grüße
Klaus

Sh4d0w 2. Jan 2007 13:20

Re: "Animation"
 
Kannst du das vllt. noch erklären? Wie bastelt man denn so eine Linie?

agm65 2. Jan 2007 13:31

Re: "Animation"
 
die linie bastelt man nicht, die stellst du dir vor :)

schau mal du hast dein bild sagen wir auf top / left := 0

dann ermittelst du die mouse koordinaten beim klick zb so:

Delphi-Quellcode:
var
x,y: integer;

x := Mouse.CursorPos.X;
y := Mouse.CursorPos.Y;
und dann hast du ja eine "direkte" linie zwischen 0/0 und x/y ..

und dann halt top & left im verhältnis dahin wandern lassen


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:23 Uhr.
Seite 1 von 2  1 2      

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