Also es gibt zwei Arten von Gegnern:
a. horizontal
b. vertikal
ausgerichtete Gegner.
Ich nehme an, dass es zu beiden Gegnertypen exakt jeweils ein Bild gibt, also in Summe 2 Bilder. Dann bräuchtest du klarerweise auch 2 Bilder (nicht mehr nicht weniger).
Weiters muss jeder der 300 Gegner ne Ausrichtungseigenschaft besitzen damit später beim Zeichnen auch das richtige Bild verwendet wird.
Delphi-Quellcode:
type
TAusrichtung = (aVertikal, aHorizontal);
TGegner = record
Position: TPoint;
Ausrichtung: TAusrichtung;
end;
var
imgGegner: Array[TAusrichtung] of TImage;
Gegner: Array[0..300-1] of TGegner;
// Initialisierung der Bilder (Create übersprungen)
imgGegner[aVertiikal].LoadFromFile('vertikal.bmp');
imgGegner[aHorizontal].LoadFromFile('horizontal.bmp');
// Gegnerinitialisierung
Gegner[0].Position := Point(100, 20);
Gegner[0].Ausrichtung := aVertikal;
// Zeichnen eines Gegners:
with Gegner[0] do
Canvas.Draw(Position.X, Position.Y, imgGegner[Ausrichtung]);