Skift spilopløsning
Miljø til bekræftelse
- Windows
-
- Windows 11
- Enhedslistens redaktør
-
- 2021.3.1f1
- Input System Pakker
-
- 1.3.0
Forudsætninger for dette tip
Følgende indstillinger er forudkonfigureret som en forudsætning for forklaringen af disse tip.
Angivelse af opløsningen i starten af spillet
Du kan indstille opløsningen i starten af spillet fra projektindstillingerne. Der er dog begrænsninger som antagelser om vinduestilstand, så hvis du vil indstille det pålideligt, tror jeg, at indstillingen af det program, der beskrives senere, er mere pålidelig.
For at gøre dette skal du vælge Rediger -> Projektindstillinger i menuen.
Vælg "Player" i menuen til venstre.
Nederst kan du finde indstillingerne for hvert miljø. For eksempel, hvis displayikonet yderst til venstre er indstillingen af pc-miljøet såsom Windows.
"Opløsning og skærm" er skjult indeni, så klik for at udvide den, og vælg "Vindue" fra "Fuldskærmstilstand" i opløsningsgruppen.
Derefter vises "Standard skærmbredde" og "Standard skærmhøjde", så du kan indstille opløsningen (= skærmstørrelse) her. Denne indstilling kan kun indstilles i vinduestilstand.
Der er indstillinger i andre miljøer, så tjek dem. Følgende diagram viser konfigurationen i WebGL. Opløsning = lærredets størrelse.
Kør og bekræft
Jeg kan ikke kontrollere, om det er korrekt, selvom jeg kører det i Unity Editor, så jeg udsender spillet og tjekker det. Du kan finde detaljerede instruktioner i Tips til spiloutput .
Sørg for, at den vises på den angivne skærmstørrelse.
Men selvom du ændrer størrelsesværdien, ændres størrelsen muligvis ikke. Dette skyldes, at selve spillet husker den tidligere opløsning. Hvis du vil sikre dig, at displayet har den angivne opløsning, er det mere pålideligt at ændre det med programmet beskrevet nedenfor.
Skift opløsningen fra programmet
Her vil jeg gerne forberede følgende skærmbillede og styre det programmatisk, så opløsningen ændres, når der klikkes på hver knap. Du kan finde flere oplysninger om, hvordan du håndterer brugergrænsefladen og knapperne, under Tips til brugergrænsefladen .
Her er, hvad der sker, når du klikker på hver knap:
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);
}
}
For de to nederste metoder er den eneste forskel opløsningsnummeret.
Screen.SetResolution
Du kan ændre opløsningen ved at angive henholdsvis "opløsningsbredde (px)", "opløsningshøjde (px)", "fuldskærmstilstand" og "opdateringshastighed (Hz)" i metodeargumenterne.
Denne gang indstilles den i vinduestilstand, men den kan indstilles på samme måde i fuldskærmstilstand.
Hvis du vil tvinge det til at blive indstillet, når spillet starter, tror jeg, du kan håndtere det med en scriptmetode, der er knyttet til et objekt i den awake
første scene.
Kør og bekræft
Jeg tror, du kan se, at klik på hver knap ændrer opløsningen (+ vinduesstørrelse).