I've been toying around with TImageSpriteEX. If I rotate my sprite I notice a jerk every now and then (possible once per rotation). I've kept everything pretty basic like this:
[pascal]
TAsteroid = class(TImageSpriteEx)
XPos, YPos: single;
XSpeed, YSpeed: single;
procedure DoCollision(Sprite: TSprite; var Done: Boolean); override;
procedure DoMove(MoveCount: Integer); override;
end;
[/pascal]
with DoMove like this

[pascal]
procedure TAsteroid.DoMove;
begin
inherited;
Angle := Angle + 1;
XPos := XPos + XSpeed;
YPos := YPos + YSpeed;

if XPos > frmMain.DXDraw.SurfaceWidth then XPos := 0;
if YPos > frmMain.DXDraw.SurfaceHeight then YPos := 0;

X := Trunc(XPos);
Y := Trunc(YPos);
end;
[/pascal]
then in the timerTimer event I have this:
[pascal]
DXSpriteEngine1.Move(LagCount);
DXSpriteEngine1.Dead;
DXDraw.Surface.Fill(0);
DXSpriteEngine1.Draw;
[/pascal]
Am I doing something wrong? If it helps take a look at my

CODE

and / or

EXECUTABLE

p.s. It only happens which the rock is moving not when it's just sat still rotating, and doesn't seem to happen in fullscreen mode