Промяна на резолюцията на играта
Среда за проверка
- Уиндоус
-
- Прозорци 11
- Редактор на единство
-
- 2021.3.1f1
- Пакети на входната система
-
- 1.3.0
Предпоставки за този съвет
Следните настройки са предварително конфигурирани като предпоставка за обяснението на тези съвети.
Определяне на резолюцията в началото на играта
Можете да зададете резолюцията в началото на играта от настройките на проекта. Има обаче ограничения като предположения за режима на прозореца, така че ако искате да го зададете надеждно, мисля, че настройката от програмата, описана по-късно, е по-надеждна.
За да направите това, изберете Редактиране > Настройки на проекта от менюто.
Изберете "Player" от менюто вляво.
В долната част можете да намерите настройките за всяка среда. Например, ако иконата на дисплея най-вляво е настройката на компютърната среда, като например Windows.
"Резолюция и дисплей" е свит вътре, така че кликнете, за да го разширите, и изберете "Windowed" от "Full Screen Mode" в групата за разделителна способност.
След това ще се покажат "Ширина на екрана по подразбиране" и "Височина на екрана по подразбиране", така че можете да зададете разделителната способност (= размер на екрана) тук. Тази настройка може да бъде зададена само в режим на прозорец.
Има настройки в други среди, така че, моля, проверете ги. Следващата диаграма показва конфигурацията в WebGL. Резолюция = размер на платното.
Изпълнение и проверка
Не мога да проверя дали е правилно, дори ако го стартирам в редактора на Unity, така че ще изведа играта и ще я проверя. За подробни инструкции вижте Съвети за изхода на играта .
Уверете се, че се показва на зададения размер на екрана.
Въпреки това, дори ако промените стойността на размера, размерът може да не се промени. Това е така, защото самата игра помни предишната резолюция. Ако искате да се уверите, че дисплеят е с определена разделителна способност, по-надеждно е да го промените с програмата, описана по-долу.
Промяна на резолюцията от програмата
Тук бих искал да подготвя следния екран и да го контролирам програмно, така че резолюцията да се променя при натискане на всеки бутон. За повече информация как да боравите с потребителския интерфейс и бутоните вижте Съвети за потребителския интерфейс .
Ето какво се случва, когато кликнете върху всеки бутон:
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
public void OnClick_960x540()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(960, 540, FullScreenMode.Windowed, 60);
}
public void OnClick_1280x720()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(1280, 720, FullScreenMode.Windowed, 60);
}
public void OnClick_1600x900()
{
// 横幅 pixel、縦幅 pixel、ウィンドウモード、リフレッシュレート(Hz) を指定
// ウィンドウモードの場合、ウィンドウサイズも変わる
Screen.SetResolution(1600, 900, FullScreenMode.Windowed, 60);
}
}
За долните два метода единствената разлика е номерът на резолюцията.
Screen.SetResolution
Можете да промените разделителната способност, като зададете съответно "ширина на разделителната способност (px)", "височина на разделителната способност (px)", "режим на цял екран" и "честота на опресняване (Hz)" в аргументите на метода.
Този път тя ще бъде зададена в прозоречен режим, но може да бъде настроена по същия начин в режим на цял екран.
Ако искате да го принудите да бъде настроен, когато играта започне, мисля, че можете да се справите с метод на скрипт, прикрепен към някакъв обект в awake
първата сцена.
Изпълнение и проверка
Мисля, че можете да видите, че щракването върху всеки бутон променя резолюцията (+ размера на прозореца).