Danke für den Wink mit dem Zaunspfahl.
Hat nicht direkt geholfen, aber ich hab mal testweise versucht, meiner ImageList dynamisch ein Bild anzuhängen:
Delphi-Quellcode:
Bmp.SaveToFile('C:\Temp\TestBitmap.bmp');
with FImageList.Add('TestBitmap') do
begin
Texture.LoadGraphicFromFile('C:\Temp\TestBitmap.bmp', FALSE, clNone);
Restore;
end;
I := FImageList.Count - 1;
TempSprite := TAnimationSprite.Create(Parent, FDraw);
TempSprite.X := X;
TempSprite.Y := Y;
TempSprite.Z := Z;
TempSprite.Image := FImageList[I]
Und das funktioniert wieder.
Hab dann mal tiefer gesucht und mir die Funktionen angeschaut. Dabei festgestellt, dass in TAdImage.Texture.LoadGraphicFromFile die Textur über einen Umweg per TAdBmp -> TAdImage.Texture.Texture.LoadFromBitmap(TAdBmp) geladen wird. Dann das mal bei mir ausprobiert und es geht auch ... Keine Ahnung, wieso und warum das vorher nicht geklappt hat, wenn's auch die DynTexture-Demo genauso macht.
Delphi-Quellcode:
AdImage := TAdImage.Create(FDraw);
AdBmp := TAdBitmap.Create;
try
AdBmp.Assign(Bmp);
AdImage.Texture.Texture.LoadFromBitmap(AdBmp, ad32Bit);
AdImage.Restore;
finally
FreeAndNil(AdBmp);
end;
TempSprite := TAnimationSprite.Create(Parent, FDraw);
TempSprite.X := X;
TempSprite.Y := Y;
TempSprite.Z := Z;
TempSprite.Image := AdImage;