Работя върху 2D игра за android в unity (портретен изглед). Използвам следния код, за да мащабирам сцената си в играта, за да пасне на всички екрани и той работи с всички мобилни телефони
void Start()
{
float targetaspect = 9.0f / 16.0f;
// determine the game window's current aspect ratio
float windowaspect = (float)Screen.width / (float)Screen.height;
// current viewport height should be scaled by this amount
float scaleheight = windowaspect / targetaspect;
// obtain camera component so we can modify its viewport
Camera camera = GetComponent<Camera>();
// if scaled height is less than current height, add letterbox
if (scaleheight < 1.0f)
{
Rect rect = camera.rect;
rect.width = 1.0f;
rect.height = scaleheight;
rect.x = 0;
rect.y = (1.0f - scaleheight) / 2.0f;
camera.rect = rect;
}
else // add pillarbox
{
float scalewidth = 1.0f / scaleheight;
Rect rect = camera.rect;
rect.width = scalewidth;
rect.height = 1.0f;
rect.x = (1.0f - scalewidth) / 2.0f;
rect.y = 0;
camera.rect = rect;
}
}
Но когато тествах моята игра на таблет, тя пасна перфектно на височина, но в случай на ширина, ширината на изгледа на играта беше по-къса от ширината на екрана на таблета. От двете страни на таблетите се виждаше черна област.
Забележка: според горния код изгледът на играта се мащабира до размер 480X854.
Благодаря ви за проявения интерес към запитването ми!!!