Если вы используете постоянный размер камеры, все экрана масштабируется (следовательно, все объекты).
Выберите постоянный размер, например 720x480
.
final static int CAMERA_WIDTH = 720;
final static int CAMERA_HEIGHT = 480;
Затем при создании опций движка используйте:
... new EngineOptions(... new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), ...);
. На каждом устройстве камера масштабируется так, чтобы соответствовать разрешению настолько хорошо, насколько это возможно, при этом сохраняя соотношение между шириной и высотой.Теперь, при создании спрайта, просто сделайте:
Sprite sprite = new Sprite(x, y, TextureRegion);
Не укажите размер спрайта!Его размер по сравнению с размером камеры будет определяться в соответствии с размером области текстуры, и будет постоянным. Тогда , он будет масштабироваться камерой с устройства.масштабирование экрана, которое изменяется от одного устройства к другому, но соотношение будет оставаться постоянным - игра не будет выглядеть как плохо масштабированное изображение на устройствах с другим разрешением, которое имеет отношение ширина / высота камеры.
Iдумаю, что это отличный метод, который предоставляет AndEngine для работы с различными разрешениями экрана;ИМХО, это лучше всего использовать.