i think TImageSpriteEx's collision detect can't support pixelCheck.

function TImageSpriteEx.TestCollision(Sprite: TSprite): Boolean;
begin
if Sprite is TImageSpriteEx then
begin
Result := OverlapRect(Bounds(Trunc(Sprite.WorldX), Trunc(Sprite.WorldY), Sprite.Width, Sprite.Height),
Bounds(Trunc(WorldX), Trunc(WorldY), Width, Height));
end else
begin
Result := OverlapRect(Sprite.BoundsRect, Bounds(Trunc(WorldX), Trunc(WorldY), Width, Height));
end;
end;