Registriert seit: 31. Aug 2005
1.622 Beiträge
FreePascal / Lazarus
|
Re: Andorra 2D [Ver. 0.40, 01.07.08]
30. Sep 2008, 14:29
Reserviere dir ausreichend Speicher und schreibe dein Bitmap herein:
Delphi-Quellcode:
var
pmem: PByte;
pb: PByte;
rgba: PRGBA;
begin
//Reservieren
GetMem(pmem, Bitmap.Width * Bitmap.Height);
//Daten hereinschreiben
pb := PByte;
rgba := Bitmap.Scanline;
for y := 0 to Bitmap.Width - 1 do
begin
for x := 0 to Bitmap.Height - 1 do
begin
if rgba^ = Transparenzfarbe then
pb^ := 0
else
pb^ := 255;
inc(pb);
inc(rgba);
end;
end;
//Pixel überprüfen
pb := pmem;
inc(pb, meineXPos + meineYPos * Bitmap.Height);
if pb^ = 255 then
Kollision;
//Freigeben
FreeMem(pmem);
end;
Andreas "Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
|