Hallo Leute!
Ich habe in meinem Spiel folgenden Algorythmus:
Delphi-Quellcode:
for x := 0 to Layer2.Width-1 do
for y := 0 to Layer2.Height-1 do
begin
if Layer2.Canvas.Pixels[x,y] <> FTransparentcolor
then
Img.Canvas.Pixels[x,y] := Layer2.Canvas.Pixels[x,y] // überall, wo
// Nich Die Transparente Farbe ist, wird im Image drübergezeichnet
// layer2: TBitmap;
end;
Ich habe sozusagen mehrere Layer auf die jeweils gezeichnet wird und dann werden die Layer hintereinander gesetzt, so kann ich mit meiner Spielfigur rumlaufen und zum Beispiel teilweise verdeckt sein, wenn ein Gebäude im Weg ist.
Das Problem ist allerdings, das die Prozedur recht häufig benutzt wird, und ich gerne scanline für eine bessere Performance benutzen würde. Ich habe schon hier die Suche benutzt, aber irgendwie komm ich nicht drauf, wie ich scanline in diesem Fall benutzen muss.
Danke schonmal für die Hilfe
Richard