Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#775

Re: Andorra 2D [Ver. 0.40, 01.07.08]

  Alt 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
  Mit Zitat antworten Zitat