Entwickler-Ecke
Multimedia / Grafik - Image im Halbkreis bewegen
Adam Weishaupt - Fr 15.08.03 22:17
Titel: Image im Halbkreis bewegen
Also ich versuche schon lange ein Image im Halbkreis bewegen zu lassen.
Es soll am unteren Rand des Forms "rumhuepfen" und zwar immer in Halbkreisform.
Kann da einer mir helfen?
worm - Sa 16.08.03 02:42
Hin und her im Halbkreis? Also erstmal musst Du die Zeit messen können. Was da die beste Methode ist, weiß ich nicht... notfalls 'nen Timer mit 50ms oder so. Eine globale Variable zählt am besten die Zeit mit. Also mal ein Beispiel, wie der Code dann lauten könnte:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var t: Integer;
procedure TForm1.Timer1Timer(Sender: TObject); begin Inc(t); if t = 7200 then t := 0; Image1.Top := Form1.ClientHeight-Image1.Height-Trunc(Abs(50*sin(t/20))); Image1.Left := (Form1.ClientWidth div 2)-Image1.Width-Trunc(50*cos(t/20)); end; |
Jetzt kannst du an den Werten herumspielen, bis Du das gewünschte Ergebnis erhältst (/20 manipuliert die Geschwindigkeit, 50* manipuliert den Radius).
Cya, f0k
PS: besser wäre es wahrscheinlich, das Bild selbst aufs Formular oder eine PaintBox zu zeichnen... ging jetzt erstmal am einfachsten.
Adam Weishaupt - So 17.08.03 19:29
SUPER!!! DANKE !!!
das hat mir sehr geholfen!! nur leider wollte ich, dass sich das image nur in eine richtung bewegt. wie mache ich das dann?
worm - So 17.08.03 22:54
Hab jetzt zwar nicht 100%ig verstanden, was du meintest, aber wolltest du, dass das Image sich nicht hin und her sondern "nur hin" bewegt?
Dann musst Du nur die eine Zeile aufif t = 3600 then t := 0; ändern. Falls es dann nicht so plötzlich verschwinden und auftauchen soll, musst du es insgesamt noch etwas weiter nach unten schieben, indem Du bei "Image1.Top := " das "-Image1.Height" wegnimmst.
Und falls Du was ganz anderes meinst, musst du's nochmal genauer erklären :D.
PS: Falls Du die Bewegung etwas flüssiger haben willst, musst Du den Timer auf ein kleineres Intervall einstellen und zum Ausgleich evtl. die Konstante hinter dem t (bei "sin(t/...)") vergrößern.
Adam Weishaupt - Mo 18.08.03 10:13
| worm hat folgendes geschrieben: |
| Hab jetzt zwar nicht 100%ig verstanden, was du meintest, aber wolltest du, dass das Image sich nicht hin und her sondern "nur hin" bewegt? |
genau! nur hin! also in eine richtung! ;-)
PS: hab dich bei mir in icq added
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!