Pakeiskite žaidimo skiriamąją gebą

Puslapis atnaujintas :
Puslapio sukūrimo data :

Tikrinimo aplinka

Windows
  • Langai 11
"Unity" redaktorius
  • 2021.3.1F1
Įvesties sistemos paketai
  • 1.3.0

Būtinos šio patarimo sąlygos

Toliau nurodyti parametrai yra iš anksto sukonfigūruoti kaip būtina šių patarimų paaiškinimo sąlyga.

Nurodykite skiriamąją gebą žaidimo pradžioje

Skiriamąją gebą galite nustatyti žaidimo pradžioje iš projekto nustatymų. Tačiau yra apribojimų, tokių kaip lango režimo prielaidos, todėl, jei norite jį patikimai nustatyti, manau, kad vėliau aprašytos programos nustatymas yra patikimesnis.

Norėdami tai padaryti, meniu pasirinkite Redaguoti -> Projekto nustatymai.

Kairėje esančiame meniu pasirinkite "Grotuvas".

Apačioje galite rasti kiekvienos aplinkos nustatymus. Pavyzdžiui, jei ekrano piktograma kairėje pusėje yra kompiuterio aplinkos, pvz., "Windows", nustatymas.

"Skiriamoji geba ir ekranas" yra sutrauktas viduje, todėl spustelėkite, kad jį išplėstumėte, ir skiriamosios gebos grupėje pasirinkite "Langas" iš "Viso ekrano režimas".

Tada bus rodomas "Numatytasis ekrano plotis" ir "Numatytasis ekrano aukštis", todėl čia galite nustatyti skiriamąją gebą (= ekrano dydį). Šį nustatymą galima nustatyti tik lango režimu.

Yra nustatymų kitose aplinkose, todėl patikrinkite juos. Šioje diagramoje parodyta "WebGL" konfigūracija. Skiriamoji geba = drobės dydis.

Paleiskite ir patikrinkite

Negaliu patikrinti, ar jis teisingas, net jei paleidžiu jį "Unity" redaktoriuje, todėl išvesiu žaidimą ir patikrinsiu. Išsamių instrukcijų ieškokite žaidimo išvesties patarimuose .

Įsitikinkite, kad jis rodomas nurodyto dydžio ekrane.

Tačiau net jei pakeisite dydžio vertę, dydis gali nepasikeisti. Taip yra todėl, kad pats žaidimas prisimena ankstesnę rezoliuciją. Jei norite įsitikinti, kad ekranas yra nurodytos skiriamosios gebos, patikimiau jį pakeisti naudojant toliau aprašytą programą.

Pakeiskite skiriamąją gebą iš programos

Čia norėčiau paruošti šį ekraną ir valdyti jį programiškai, kad spustelėjus kiekvieną mygtuką pasikeistų skiriamoji geba. Daugiau informacijos apie tai, kaip tvarkyti vartotojo sąsają ir mygtukus, rasite vartotojo sąsajos patarimuose .

Štai kas nutinka spustelėjus kiekvieną mygtuką:

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

Dviem apatiniams metodams vienintelis skirtumas yra skiriamosios gebos numeris.

Screen.SetResolution Skiriamąją gebą galite pakeisti metodo argumentuose atitinkamai nurodydami "skiriamosios gebos plotis (px)", "skiriamosios gebos aukštis (px)", "viso ekrano režimas" ir "atnaujinimo dažnis (Hz)".

Šį kartą jis bus nustatytas lango režimu, tačiau jį taip pat galima nustatyti viso ekrano režimu.

Jei norite priversti jį nustatyti, kai žaidimas prasideda, manau, kad galite tai padaryti naudodami scenarijaus metodą, pritvirtintą prie kokio nors objekto awake pirmoje scenoje.

Paleiskite ir patikrinkite

Manau, matote, kad spustelėjus kiekvieną mygtuką pasikeičia skiriamoji geba (+ lango dydis).