Guten Abend
DP,
ich bin immernoch dabei eine Art 'Tron' zu programmieren und bin erneut an meine Grenzen gestoßen
In dem Project soll jedes Fahrzeug (Bike) einen Timer bekommen mit dem es sich bewegt. (Jeder einen eigenen, damit sie sich unterschiedlich schnell bewegen können) Nun kreiere ich meine Timer dynamisch und weise ihnen das .OnTimer Event zu. Allerdings möchte ich, dass die procedur sich unterschiedlich verhällt, je nach dem welcher Timer das Event ausgelöst hat.
Doch nun stellt sich mir das Problem, dass ich einem TNotifyEvent keine Parameter übergeben kann und somit nicht feststellen kann wer es ausgelöst hat
Mein Wissen
Deklaration:
Delphi-Quellcode:
Timer: Array of TTimer;
Tasten: TQueue;
Bike: Array of TBike;
Erstellung der Timer:
Delphi-Quellcode:
for i:=0 to Pred(pTimerAnzahl) do begin
SetLength(Timer, Succ(i));
Timer[i] := TTimer.Create(nil);
Timer[i].Interval := 10;
Timer[i].OnTimer := onTimer(Timer[i], i);
Timer[i].Enabled := True;
end;
onTimer:
Delphi-Quellcode:
procedure TSpielfeld.onTimer(Sender: TObject);
begin
if Sender = Timer[0]
then if Tasten.Count > 0
then
case Word(Tasten.Pop) of
70: Bike[0].dreheLinks;
74: Bike[0].dreheRechts;
end;
(Sender as TTimer).Enabled := False;
bewegeBikes(Sender);//stellt nach Bewegung (Sender as TTimer).Enabled := True
.
.
end;