also ich habe:
MainBit: TBitmap
-wird zu programmstart createt und ein Bild aus ressource reingeladen (der ball)(und im ondestroy wieder free)
SpinBit: TBitmap
-Da wird das MainBit gedreht reingezeichnet und das SpinBit dann mit StretchDraw auf die Form.Canvas(der gedrehte ball)
Doublebuffered steht schon längst auf true
Delphi-Quellcode:
procedure TForm1.Render;
begin
PlrBitSpin := TBitmap.Create;
try
RotateBitmap(PlrBitSpin, PlrBitMain, Winkel, clWhite,
false, true);
Canvas.StretchDraw(
rect(Position.X-25, Position.Y-25, Position.X+25, Position.Y+25),
PlrBitSpin
);
finally
PlrBitSpin.Free;
end;
end;
Delphi-Quellcode:
procedure TForm1.Run;
begin
Timer := GetTickCount;
while GetAsyncKeyState(VK_ESCAPE)=0 do
begin
while Timer + Interval > GetTickCount do // Zeitbremse
Application.ProcessMessages; // Pseudo-Timer
Input; // Reagiert auf 'a' und 'd'
Winkel := Winkel + Speed; // Ball dreht sich
Position.X := Position.X + Speed; // Ball bewegt sich
if Position.X < 0 then Position.X := 0;
if Position.X > screen.Width then Position.X := screen.Width;
Render; // Ball zeichnet sich
end;
Close;
end;
nur mal als ansatz. wenn ihr mehr braucht zeig ich euch auch gern alles.
[Edit] @Jim: wie soll das gehen
mit Bitmap.Canvas komm ich nicht weiter, könntest du mir bitte eventuell ein bisschen code opfern? [/Edit]
Edit
: bin jetz n bisschen weiter aber wie man sieht blitzt es immer noch und man sieht noch zu viel weiß. helft mir bitte
das Essen ist wie das Internet - Downstream ist immer angenehmer als Upstream
-
Warum missbraucht die ganze Programmierwelt Images als Paintboxen