Ich glaube das ist das was du in etwa suchst:
Delphi-Quellcode:
type
TMeineBalken = record
Balken: TBitmap;
x: Integer;
y: Integer;
Zustand: Byte;
end;
const
Balkenanzahl = 20;
var
MeineBalken: array[1..Balkenanzahl] of TMeineBalken;
procedure AllesErstellen;
var
i: Integer;
begin
for i := 1 to Balkenanzahl do
MeineBalken[i].Balken := TBitmap.Create;
end;
procedure AllesLoeschen;
var
i: Integer;
begin
for i := 1 to Balkenanzahl do
MeineBalken[i].Balken.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
for i := 1 to Balkenanzahl do
begin
MeineBalken[i].Balken...
MeineBalken[i].x...
MeineBalken[i].y...
MeineBalken[i].Zustand...
end;
end;
An dieser Stelle ein Tipp wie du dir unheimlich viel Arbeit sparen kannst. Entweder später im Code oder gleich im Record würde ich den Rect Bereich des Balkens ermitteln. Der Ball hat dann auch einen Rect Bereich. Was du dann einfach nur noch machen mußt ist zu überprüfen ob sich der Rect Bereich des Balls mit einem Rect Bereich eines Balkens überschneitet. Schon hast du einen Treffer.