Komisch... Dein Code würde mich wirklich mal interessieren. Ich arbeite gerade auch an einem Tile-Basierten spiel mit der SpriteEngineEx und habe hinsichtlich der Darstellungsfehler ähnliche Probleme wie du.
Schau mal was passiert wenn du die folgende Routine in AdDraws.pas austauschst:
Delphi-Quellcode:
procedure TAdCustomImage.SetSrcRegion;
var
texw, texh: integer;
rectw, recth: integer;
mat: TAdMatrix;
const
add = 0.5;
begin
texw := Texture.Texture.Width;
texh := Texture.Texture.Height;
rectw := FSrcRect.Right - FSrcRect.Left;
recth := FSrcRect.Bottom - FSrcRect.Top;
mat := AdMatrix_Identity;
//Scale the texture
mat[0,0] := (rectw) / texw;
mat[1,1] := (recth) / texh;
//Translate the texture
mat[2,0] := (FSrcRect.Left + add) / texw;
mat[2,1] := (FSrcRect.Top + add) / texh;
AdMesh.TextureMatrix := mat;
end;
Edit: Spiele am besten auch mal ein wenig mit der Konstante "Add" herum - auch negative Werte.
Edit2: Entferne add aus dem Skalierungsteil der Matrix. Habs im Code gemacht.