我正在使用AndEngine加载svg图像作为我的Sprites。
我遇到的问题是我无法弄清楚如何缩放图像以适合运行它的特定设备。
sprite= new Sprite(positionX, positionY, WIDTH,HEIGHT,TextureRegion);
它所采用的参数是x和y坐标上的位置,然后是宽度和高度。
我遇到的问题是我无法弄清楚如何根据我的需要将精灵缩放到正确的宽度和高度。
例如我有一个标题,我希望标题在更大的设备上更大,我如何决定设备是否更大并将其扩展为更大的屏幕而缩小为更小的屏幕?
答案 0 :(得分:5)
如果您使用恒定的相机尺寸,则会缩放屏幕的所有(因此所有实体)。
决定一个恒定的大小,例如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);
不要给出精灵大小!它的大小与相机尺寸相比将根据纹理区域大小决定,它将是一个恒定的。 然后,它将由相机缩放到 - 设备屏幕缩放,从一个设备变为另一个设备,但比例将保持不变 - 游戏看起来不像是在相机宽度/高度比不同的设备上的坏比例图像。
我认为这是AndEngine提供的处理不同屏幕分辨率的好方法;恕我直言,这是最好的使用。