Zitat von
igel457:
Warum eigentlich du "Hühnerbilder" - du willst doch wissen, ob der "Schuss" an dem Baum/Hinderniss vorbei gegangen ist. Also folgende Vorgehensweise:
Delphi-Quellcode:
var
lst: TList;
procedure LadeSpiel;
var
i: integer;
bmp: TBitmap;
begin
lst := TList.Create;
for i := 0 to AdImageList.Count - 1 do
begin
bmp := TBitmap.Create;
AdImageList[i].Texture.SaveToGraphic(bmp);
bmp.Mask(DeineTransparenzFarbe);
bmp.BitDepth:= pf1Bit; //Eventuell erstmal weglassen
lst.Add(bmp);
end;
end;
function TrifftObjekt(RelativesX, RelativesY: integer; ImageIndex: integer): boolean;
begin
result := TBitmap(lst[ImageIndex]).Canvas.Pixels[RelativesX, RelativesY] = clBlack;
end;
procedure MausKlick(X, Y: integer);
begin
//Erstelle Liste mit allen Objekten an der MausPosition
//Überprüfe mithilfe des Bildindexes ob dieses Bild wirklich getroffen wurde, wenn
//nicht überprüfe das nächste Element in der Liste
end;
Wozu eine Maske auf die Hintergrundfarbe erstellen und dann auf Schwarz prüfen? Da wäre es doch einfacher und schneller, einach das Sprite auf Hintergrundfarbe zu prüfen.