Ich wollte keine Arrays und das ist eins!
Sprite[Count].Top := Bottom;
Es ist ein indexbasierter Zugriff. Ob auf ein Array oder eine Liste kann man an der Zeile nicht unterscheiden.
Im Falle einer Liste läuft das ganze auf eine Index-Property mit einer Getter-Methode, die das Element zurückliefert.
Sinnvoll ist aus Performancegründen natürlich eher ohne die vielen Indexzugriffe zu arbeiten und das aktuelle Element in eine Variable zu packen:
Delphi-Quellcode:
var
Sprites: TObjectList<TSprite>;
Sprite: TSprite;
begin
...
Sprite := Sprites[Count];
Sprite.Top := ...;
Sprite.Def := ...;
Meinst du das?