שינוי רזולוציית המשחק

עודכן דף :
תאריך יצירת דף :

סביבת אימות

חלונות
  • חלונות 11
עורך Unity
  • 2021.3.1F1
חבילות מערכת קלט
  • 1.3.0

תנאים מוקדמים לטיפ זה

ההגדרות הבאות מוגדרות מראש כתנאי מוקדם להסבר של עצות אלה.

ציון הרזולוציה בתחילת המשחק

ניתן להגדיר את הרזולוציה בתחילת המשחק מהגדרות הפרויקט. עם זאת, ישנן מגבלות כגון הנחות מצב חלון, אז אם אתה רוצה להגדיר את זה אמין, אני חושב כי ההגדרה על ידי התוכנית המתוארת מאוחר יותר הוא אמין יותר.

לשם כך, בחר Edit -> Project Settings מהתפריט.

בחר "שחקן" מהתפריט בצד שמאל.

בתחתית, תוכל למצוא את ההגדרות עבור כל סביבה. לדוגמה, אם סמל התצוגה בקצה הימני הוא ההגדרה של סביבת המחשב, כגון Windows.

"רזולוציה ותצוגה" מכווץ בפנים, לכן לחץ כדי להרחיב אותו ובחר "חלון" מתוך "מצב מסך מלא" בקבוצת הרזולוציה.

לאחר מכן יוצגו "רוחב מסך ברירת מחדל" ו"גובה מסך ברירת מחדל", כך שתוכל להגדיר את הרזולוציה (= גודל המסך) כאן. ניתן להגדיר הגדרה זו רק במצב חלון.

יש הגדרות בסביבות אחרות, אז אנא בדוק אותן. הדיאגרמה הבאה מציגה את התצורה ב- 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 הראשונה.

הפעלה ואימות

אני חושב שאתה יכול לראות שלחיצה על כל כפתור משנה את הרזולוציה (+ גודל חלון).