Autor Beitrag
OutSidEr
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 21.06.03 13:29 
Hi
Also ich hab da ein Problem. Wir sollen in der Schule nen Computerspiel programmieren. Leider hab ich mir etwas komplizierteres ausgesucht und nu muss ich gestehen dass ich Hilfe brauch.
Also:
Ein Bild soll in dem Spiel eine Parabel abfliegen. Um noch genauer zu sein ist es ne Wurfparabel aber die Formel kann man ja später noch verändern.
Ich habe mir vorgestellt dies mit einem timer zu machen, da sich das bei ner schleife zu schnell abspielt und man den flug des bildes gar net mitverfolgen kann.

Nun wie gesagt hab ich für mich da was hoch gegriffen. Ich hoffe ihr könnt mir helfen und sagen wie der Quelltext auszusehen hat.
Für jede Idee bin ich dankbar.
Thx
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Sa 21.06.03 14:14 
hmm, weiß net genau was eine Parabel ist aber ich denke mal das ist sowas was du bei einem Graphen auch hast, also die zuordnung für f(x)=2/2x und y=f(x). Falls ja, musst du bei deinem timer jeden intervall x um n erhöhen und y für x berechen und das Bild entrsprechend bewegen. :?!?:

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.
OutSidEr Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 21.06.03 15:58 
warum ich den intervall um n verstellen muss versteh ich net. das bild soll doch nicht langsamer oder schneller werden.
was ich aber genau schreiben muss damit es sich so bewegt (reihenfolge etc.) ist mir auch net so klar.
Tweafis
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 647

WinXP + fbsd
Delphi 5 Prof
BeitragVerfasst: Sa 21.06.03 20:29 
n ist ne constante. Du kannst z.B. so machen:

Hab heute mitgekriegt das Parabel z.B. y = x^2 ist. von -unendlich bis unendlich...

also bei Form1 unter private ne variable x und ne funktion Parabel dann

ausblenden Delphi-Quelltext
1:
2:
3:
4:
function Form1.Parabel(x: Double): Double;
begin
  result := x*x;
end;

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.FormCreate(...);
begin
  x:= -1;
end;

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  inc(x);
  Image1.Left := x*5; // 5 ist hierbei ein Multiplikator
  Image1.Top := (Form1.ClientHeight-Image1.Height) div 2 + Parabel(x);

  if x>=1 then Timer1.Enabled := False;
end;


So ungefäht hab ich mir das vorgestellt. Aber keine Garantie ;)

_________________
.: Es wird der Tag kommen, an dem wir es nicht mehr ändern können :.