Hallo, ich habe jetzt nach langer Zeit wieder mit Andorra2D angefangen, und arbeite die Tutorials durch, die man auf
http://andorra.sourceforge.net/ findet. Bin jetzt so weit, dass ich ein animiertes Bild erzeugen will. Habe jetzt also ein Bild, dass ich in Pattern eingeteilt habe. Die Animation steht soweit auch. Nur ist eben das Problem, dass die Schleife ca 5000mal / Sekunde durchläuft. Darum soll man ja "AdPerformanceCounter" iwie das mit Frames umsetzen. Bei mir klappt das aber leider nicht
Delphi-Quellcode:
procedure TForm1.Idle(Sender: TObject; var Done: boolean);
begin
AdPerCounter.Calculate;
Pattern:= Pattern + 15 * (AdPerCounter.TimeGap / 1000); //15 Frames / Sekunde
if AdDraw1.CanDraw then //Wenn gezeichnet werden kann
begin
AdDraw1.ClearSurface(clBlack); //Hintergrundfarbe
AdDraw1.BeginScene;
Pattern:= Pattern +1; //Filmstreifen durchlaufen
if Pattern >= AdImageList.Items[0].PatternCount-1 then //Wieder auf 0 setzen, wenn Ende erreicht ist
Pattern:= 0;
AdImageList.Find('figur1').Draw(AdDraw1,0,0,round(Pattern)); //Bild wird angezeigt
AdDraw1.EndScene;
AdDraw1.Flip;
end;
Done := false;
end;
In Form.Create erzeuge ich auch die Variable AdPerCounter
AdPerCounter:= TAdPerformanceCounter.Create(false); //Für Frames
Bei mir ändert sich aber nichts an der Geschwindigkeit der Abfolge der Bilder. Was mache ich falsch?
Vielen Dank im Vorraus olle.