Zitat von
Ratte:
Musst hlat bei jedem Schuss eine variable setzen und bei jedem Tastendruck prüfen ob die Differenz groß genug ist für einen weiteren Schuss.
Delphi-Quellcode:
// beim Programmstart
X := GetTickCount; // X = LongWord
// beim Tastendruck
If GetTickCount - X >= 1000{1000ms=1s} Then Begin
Schuß;
X := GetTickCount;
End;
eine ander Möglichkeit wäre in Timer.
Delphi-Quellcode:
//Taste wird gedrückt (dafür gibt's ja entsprechende Events)
Schuß;
Timer.Enabled := True;
//Taste wurde losgelassen
Timer.Enabled := False;
//Timer-Event
Schuß;
Bei Letztrem könnte man dann och sowas ganz leicht realisieren, wie Schuß-langePause-Schuß-kleinePause-Schuß-kleinePause...
Delphi-Quellcode:
//Taste wird gedrückt (dafür gibt's ja entsprechende Events)
Schuß;
Timer.Interval := 1500;
Timer.Enabled := True;
//Taste wurde losgelassen
Timer.Enabled := False;
//Timer-Event
Schuß;
Timer.Interval := 500;