Das Problem mit dieser Classe ist das ich NUR Negative Values addieren kann.
...
Hier wird das Array normalerweise redimensioniert.
Wenn gS positive werte bekommt sind sie am ende doch Negativ bedingt durch die Classe.
Das Array gS muss eine Kombination von Negativen und Positiven werten sein.
Da das aber nicht geht werde ich wohl oder übel wieder alles umbauen müssen.
Wer sagt, dass das nicht geht? Anstatt
Delphi-Quellcode:
function TNegativeArray.getData(index: Integer): TSprite;
begin
assert(index <= 0);
result := fData[abs(index)];
end;
einfach z.B: das hier nehmen:
Delphi-Quellcode:
function TNegativeArray.getData(index: Integer): TSprite;
begin
if Index < 0 then
result := fData[abs(index + 1) * 2 + 1]
else
result := fData[index*2];
end;
Edit: Quelltext angepasst, siehe unten.