Registriert seit: 5. Feb 2012
2 Beiträge
|
Image nach unten bewegen
5. Feb 2012, 12:41
Hallo Community;,
ich hab hier ein Problem bei einem Timer-Algorithmus, und zwar soll sich da ein Bild nach unten bewegen in einem bestimmten Intervall und auch um eine bestimmte Höhe!
Da das ein Spiel werden soll, gibt es 5 Level bei denen sich jeweils die Geschwindigkeit dieses Bildes erhöhen soll.
Das Level wird über ein MainMenü eingestellt und ich hab ne Procedure für die Geschwindigkeit angelegt:
>> spr steht für die Höhensprünge des Bilds
procedure TForm1.Schwierigkeit(level,spr:integer);
begin
case level of // schwierigkeit generieren über timer.intervall und bildsprünge
1: begin timer1.Interval:=100;spr:=5;N11.checked:=true;N21. Checked:=false;
N31.Checked:=false;N41.Checked:=false;N51.Checked: =false; end;
2: begin timer1.Interval:=50;spr:=10;N11.checked:=false;N21 .Checked:=true;
N31.Checked:=false;N41.Checked:=false;N51.Checked: =false; end;
3: begin timer1.Interval:=20;spr:=20;N11.checked:=false;N21 .Checked:=false;
N31.Checked:=true;N41.Checked:=false;N51.Checked:= false; end;
4: begin timer1.Interval:=10;spr:=30;N11.checked:=false;N21 .Checked:=false;
N31.Checked:=false;N41.Checked:=true;N51.Checked:= false; end;
5: begin timer1.Interval:=10;spr:=50;N11.checked:=false;N21 .Checked:=false;
N31.Checked:=false;N41.Checked:=false;N51.Checked: =true; end;
end;
(diese Nx1 Strukturen sind im MainMenü die Schwierigkeiten)
Das wird halt immer aufgerufen, wenn das Level (vorerst) manuell geändert wird.
Der Timer soll dann das Bild bewegen:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Schwierigkeit(level,spr);
image2.top := image2.Top + spr;
end;
Die Intervalländerung funzt, allerdings geht dieses Bild einfach nich um die neugenerierte Höhe runter, sondern nur über die am Anfang durch Form.Activate erstellte spr:=5; Höhe runter.
spr und level sind global deklariert;
Hoffe jemand kann mir helfen.
Geändert von Uses0815 ( 5. Feb 2012 um 13:42 Uhr)
|