Autor Beitrag
Adam Weishaupt
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: Fr 15.08.03 22:17 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 135


D6 Prof
BeitragVerfasst: 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:
ausblenden 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.

_________________
In the beginning, the universe was created. This has made a lot of people very angry, and is generally considered to have been a bad move.
Adam Weishaupt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 135


D6 Prof
BeitragVerfasst: 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.

_________________
In the beginning, the universe was created. This has made a lot of people very angry, and is generally considered to have been a bad move.
Adam Weishaupt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 40



BeitragVerfasst: 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