Změna rozlišení hry

Stránky aktualizovány :
Datum vytvoření stránky :

Ověřovací prostředí

Windows
  • Systém Windows 11
Unity Editor
  • 2021.3.1f1
Balíčky vstupního systému
  • 1.3.0

Předpoklady pro tento tip

Následující nastavení jsou předem nakonfigurovaná jako předpoklad pro vysvětlení těchto tipů.

Určení rozlišení na začátku hry

Rozlišení můžete nastavit na začátku hry v nastavení projektu. Existují však omezení, jako jsou předpoklady režimu okna, takže pokud jej chcete nastavit spolehlivě, myslím, že spolehlivější je nastavení programem popsaným níže.

Uděláte to tak, že v nabídce vyberete Upravit > Project Nastavení.

Z nabídky vlevo vyberte "Player".

Ve spodní části najdete nastavení pro každé prostředí. Například pokud je ikona zobrazení zcela vlevo nastavení prostředí počítače, jako je Windows.

"Rozlišení a zobrazení" je sbaleno uvnitř, takže kliknutím jej rozbalte a vyberte "V okně" z "Režim celé obrazovky" ve skupině rozlišení.

Poté se zobrazí "Výchozí šířka obrazovky" a "Výchozí výška obrazovky", takže zde můžete nastavit rozlišení (= velikost obrazovky). Toto nastavení lze provést pouze v režimu okna.

Existují nastavení v jiných prostředích, proto je prosím zkontrolujte. Následující diagram znázorňuje konfiguraci v WebGL. Rozlišení = velikost plátna.

Spuštění a ověření

Nemůžu zkontrolovat, jestli je to správné, i když to spustím v Unity Editoru, takže vypíšu hru a zkontroluji ji. Podrobné pokyny najdete v části Tipy pro herní výstup .

Ujistěte se, že je zobrazen na zadané velikosti obrazovky.

I když však změníte hodnotu velikosti, velikost se nemusí změnit. Je to proto, že hra si sama pamatuje předchozí rozlišení. Pokud se chcete ujistit, že displej má zadané rozlišení, je spolehlivější jej změnit pomocí níže popsaného programu.

Změňte rozlišení z programu

Zde bych chtěl připravit následující obrazovku a programově ji ovládat tak, aby se rozlišení změnilo při každém kliknutí na tlačítko. Další informace o tom, jak zacházet s uživatelským rozhraním a tlačítky, najdete v tématu Tipy pro uživatelské rozhraní .

Co se stane, když kliknete na jednotlivá tlačítka:

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

U spodních dvou metod je jediným rozdílem číslo rozlišení.

Screen.SetResolution Rozlišení můžete změnit zadáním "šířky rozlišení (px)", "výšky rozlišení (px)", "režimu celé obrazovky" a "obnovovací frekvence (Hz)" v argumentech metody.

Tentokrát bude nastaven v režimu okna, ale stejným způsobem jej lze nastavit v režimu celé obrazovky.

Pokud si chcete vynutit, aby se to nastavilo při spuštění hry, myslím, že to zvládnete pomocí skriptovací metody připojené k nějakému objektu v první scéně awake .

Spuštění a ověření

Myslím, že můžete vidět, že kliknutím na každé tlačítko se změní rozlišení (+ velikost okna).