如何在AndEngine中确定SVG精灵的宽度和高度
我正在使用AndEngine加载svg图像作为我的精灵。
我遇到的问题是我无法弄清楚如何缩放图像以适应运行它的特定设备。
sprite= new Sprite(positionX, positionY, WIDTH,HEIGHT,TextureRegion);
它所采用的参数是x和y坐标上的位置,然后是宽度和高度。
我遇到的问题是我无法弄清楚如何根据我的需要将精灵缩放到正确的宽度和高度。
例如,我有一个标题,我希望标题在更大的设备上更大,我如何决定设备是否更大并将其扩展为更大的屏幕而缩小为更小的屏幕?
如果使用恒定的相机尺寸,则缩放所有屏幕(因此所有实体)。
决定一个恒定的大小,为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提供的一种很好的方法来处理不同的屏幕分辨率; 恕我直言,这是最好的使用。