Zmienianie rozdzielczości gry

Strona zaktualizowana :
Data utworzenia strony :

Środowisko weryfikacyjne

Windows
  • Okna 11
Edytor aparatu Unity
  • 2021.3.1f1
Pakiety systemu wejściowego
  • 1.3.0

Wymagania wstępne dotyczące tej porady

Poniższe ustawienia są wstępnie skonfigurowane jako warunek wstępny wyjaśnienia tych wskazówek.

Określanie rozdzielczości na początku gry

Możesz ustawić rozdzielczość na początku gry w ustawieniach projektu. Są jednak ograniczenia takie jak założenia trybu okienkowego, więc jeśli chcesz to ustawić niezawodnie, to myślę, że ustawienie przez program opisane później jest bardziej pewne.

W tym celu wybierz z menu pozycję Edytuj -> Ustawienia projektu.

Wybierz "Gracz" z menu po lewej stronie.

U dołu znajdują się ustawienia dla każdego środowiska. Na przykład, jeśli ikona wyświetlacza po lewej stronie to ustawienie środowiska komputera, takiego jak Windows.

"Rozdzielczość i wyświetlanie" jest zwinięte w środku, więc kliknij, aby je rozwinąć, i wybierz "Okno" z "Trybu pełnoekranowego" w grupie rozdzielczości.

Następnie zostaną wyświetlone "Domyślna szerokość ekranu" i "Domyślna wysokość ekranu", dzięki czemu możesz tutaj ustawić rozdzielczość (= rozmiar ekranu). To ustawienie można ustawić tylko w trybie okienkowym.

Istnieją ustawienia w innych środowiskach, więc sprawdź je. Na poniższym diagramie przedstawiono konfigurację w WebGL. Rozdzielczość = rozmiar płótna.

Uruchom i zweryfikuj

Nie mogę sprawdzić, czy jest poprawny, nawet jeśli uruchomię go w edytorze Unity, więc wyprowadzę grę i sprawdzę. Szczegółowe instrukcje można znaleźć w sekcji Wskazówki dotyczące wyjścia z gry .

Upewnij się, że jest wyświetlany na ekranie o określonym rozmiarze.

Jednak nawet jeśli zmienisz wartość rozmiaru, rozmiar może się nie zmienić. Dzieje się tak, ponieważ sama gra zapamiętuje poprzednią rozdzielczość. Jeśli chcesz mieć pewność, że wyświetlacz ma określoną rozdzielczość, bardziej niezawodna jest zmiana go za pomocą programu opisanego poniżej.

Zmień rozdzielczość z programu

Tutaj chciałbym przygotować poniższy ekran i sterować nim programowo, aby rozdzielczość zmieniała się po kliknięciu każdego przycisku. Aby uzyskać więcej informacji na temat obsługi interfejsu użytkownika i przycisków, zobacz Porady dotyczące interfejsu użytkownika .

Oto, co się stanie, gdy klikniesz każdy przycisk:

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);
  }
}

W przypadku dwóch dolnych metod jedyną różnicą jest numer rozdzielczości.

Screen.SetResolution Rozdzielczość można zmienić, określając odpowiednio "szerokość rozdzielczości (px)", "wysokość rozdzielczości (px)", "tryb pełnoekranowy" i "częstotliwość odświeżania (Hz)" w argumentach metody.

Tym razem zostanie ustawiony w trybie okienkowym, ale można go ustawić w ten sam sposób w trybie pełnoekranowym.

Jeśli chcesz wymusić jego ustawienie podczas uruchamiania gry, myślę, że możesz sobie z tym poradzić za pomocą metody skryptowej dołączonej do jakiegoś obiektu w awake pierwszej scenie.

Uruchom i zweryfikuj

Myślę, że widać, że kliknięcie każdego przycisku zmienia rozdzielczość (+ rozmiar okna).