Forum: Multimedia
Delphi
by marabu,
30. Jan 2006
Das könnte daran liegen, dass du in deiner Methode Kollision() die Vergleichsrechtecke falsch initialisierst:
// ...
for i := 0 to High(Items) do
begin
r1.Left := Items.x;
r1.Top := Items.y;
r1.Right := Pred(Items.w + r1.Left);
r1.Bottom := Pred(Items.h + r1.Top);
Forum: Multimedia
Delphi
by marabu,
29. Jan 2006
Hallo Michael,
ich habe heute wohl schon zuviel Code gesehen, deshalb nur ein paar Anmerkungen:
Windows kennt bereits eine Funktion IntersectRect().
Soweit ich erkennen kann schmeißt du ein Bild auf die Fläche und wenn es eines der vorher dort drapierten Bilder überlappt, dann wirfst du nochmal. Nicht sehr effektiv. Jedes platzierte Bild bestimmt neue Freiflächen, die für ein...