Разрешение дисплея - Форум Игроделов
Чт, 09 Май 2024, 01:07 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » СКРИПТИНГ » Разрешение дисплея ([C#])
Разрешение дисплея
Sector13Дата: Вт, 19 Июл 2011, 14:23 | Сообщение # 1
 
Сообщений: 7
Награды: 0
Репутация: 42
Статус: Offline
Скрипт для смены Разрешение дисплея в реальном времени (без выхода с игры).

Меняет разрешение дисплея по нажатию клавишы "Применить"
Code

/*//////////////////////////////////////////*/  
/*/////////////////Sector13////////////////*/  
/*/////////////////////////////////////////*/

var  ScrollValue : int = 0;
var NotDraw: boolean = true;
var textFieldString = "Разрешение: 1024x768";
private var r1024x768 : int;
private var r1280x600 : int;
private var r1280x800 : int;  
private var r1280x1024 : int;  

  function OnGUI ()     
{
  textFieldString = GUI.TextField (Rect (((Screen.width/2)-90),((Screen.height/2)-40),200,25), textFieldString);
     ScrollValue = GUI.HorizontalScrollbar (Rect (((Screen.width/2)-90),((Screen.height/2)-15),200,15), ScrollValue, 1, 0, 4);
  if (ScrollValue == 0)
  {
  textFieldString = "Разрешение: 1024x768";  
  r1024x768 =0;
  }
  if (ScrollValue == 1)
  {
  textFieldString = "Разрешение: 1280x800";  
  r1280x600 =1;
  }
  if (ScrollValue == 2)
  {
  textFieldString = "Разрешение: 1440×900";  
  r1280x800 =2;
  }
  if (ScrollValue == 3)
  {
  textFieldString = "Разрешение: 1280x1024";
  r1280x1024 =3;
  }
  if (GUI.Button (Rect (((Screen.width/2)-90),((Screen.height/2)-70),200,25), "Применить"))  
    {
    if (r1024x768 == 0)
    {
    Screen.SetResolution (1024, 768, false);
    Screen.fullScreen = true;
    }    
    if (r1280x600 == 1)
    {
    Screen.SetResolution (1280, 800, false);
    Screen.fullScreen = true;
    }   
    if (r1280x800 == 2)
    {
    Screen.SetResolution (1440,900, false);
    Screen.fullScreen = true;
    }   
    if (r1280x1024 == 3)
    {
    Screen.SetResolution (1280, 1024, false);
    Screen.fullScreen = true;
    }
    }
}
 
СообщениеСкрипт для смены Разрешение дисплея в реальном времени (без выхода с игры).

Меняет разрешение дисплея по нажатию клавишы "Применить"
Code

/*//////////////////////////////////////////*/  
/*/////////////////Sector13////////////////*/  
/*/////////////////////////////////////////*/

var  ScrollValue : int = 0;
var NotDraw: boolean = true;
var textFieldString = "Разрешение: 1024x768";
private var r1024x768 : int;
private var r1280x600 : int;
private var r1280x800 : int;  
private var r1280x1024 : int;  

  function OnGUI ()     
{
  textFieldString = GUI.TextField (Rect (((Screen.width/2)-90),((Screen.height/2)-40),200,25), textFieldString);
     ScrollValue = GUI.HorizontalScrollbar (Rect (((Screen.width/2)-90),((Screen.height/2)-15),200,15), ScrollValue, 1, 0, 4);
  if (ScrollValue == 0)
  {
  textFieldString = "Разрешение: 1024x768";  
  r1024x768 =0;
  }
  if (ScrollValue == 1)
  {
  textFieldString = "Разрешение: 1280x800";  
  r1280x600 =1;
  }
  if (ScrollValue == 2)
  {
  textFieldString = "Разрешение: 1440×900";  
  r1280x800 =2;
  }
  if (ScrollValue == 3)
  {
  textFieldString = "Разрешение: 1280x1024";
  r1280x1024 =3;
  }
  if (GUI.Button (Rect (((Screen.width/2)-90),((Screen.height/2)-70),200,25), "Применить"))  
    {
    if (r1024x768 == 0)
    {
    Screen.SetResolution (1024, 768, false);
    Screen.fullScreen = true;
    }    
    if (r1280x600 == 1)
    {
    Screen.SetResolution (1280, 800, false);
    Screen.fullScreen = true;
    }   
    if (r1280x800 == 2)
    {
    Screen.SetResolution (1440,900, false);
    Screen.fullScreen = true;
    }   
    if (r1280x1024 == 3)
    {
    Screen.SetResolution (1280, 1024, false);
    Screen.fullScreen = true;
    }
    }
}

Автор - Sector13
Дата добавления - 19 Июл 2011 в 14:23
Snake_BДата: Вт, 08 Ноя 2011, 23:13 | Сообщение # 2
 
Сообщений: 8
Награды: 0
Репутация: 8
Статус: Offline
так.... вроде тема похожа на то что мне нужно....

для начала пару вопросов автору скрипта...
а зачем жестко задавать возможные разрешения экрана?
у меня вот 1680х1050.... например... а у кого то 1280х1024 может и не быть....

потом... вопрос к тем кто знает....
у них там в руководстве написан пример (C#):
Code

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
     public Resolution[] resolutions = Screen.resolutions;
     void Awake() {
         foreach (Resolution res in resolutions) {
             print(res.width + "x" + res.height);
         }
     }
}

в теории после выполнения кода должен выводиться список доступных разрешений....
а там ни чего не выводится...
из такого он вообще ни чего не пишет:
Code
resolutions[0].width.ToString() + "x" + resolutions[0].height.ToString()

из такого:
Code
Screen.resolutions[0].width.ToString() + "x" + Screen.resolutions[0].height.ToString()

только первый элемент массива достает... дальше не хотит....

что это может быть... и как с ним бороться?
может это быть из-за запуска в редакторе, а в собранном виде будет работать?
 
Сообщениетак.... вроде тема похожа на то что мне нужно....

для начала пару вопросов автору скрипта...
а зачем жестко задавать возможные разрешения экрана?
у меня вот 1680х1050.... например... а у кого то 1280х1024 может и не быть....

потом... вопрос к тем кто знает....
у них там в руководстве написан пример (C#):
Code

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
     public Resolution[] resolutions = Screen.resolutions;
     void Awake() {
         foreach (Resolution res in resolutions) {
             print(res.width + "x" + res.height);
         }
     }
}

в теории после выполнения кода должен выводиться список доступных разрешений....
а там ни чего не выводится...
из такого он вообще ни чего не пишет:
Code
resolutions[0].width.ToString() + "x" + resolutions[0].height.ToString()

из такого:
Code
Screen.resolutions[0].width.ToString() + "x" + Screen.resolutions[0].height.ToString()

только первый элемент массива достает... дальше не хотит....

что это может быть... и как с ним бороться?
может это быть из-за запуска в редакторе, а в собранном виде будет работать?

Автор - Snake_B
Дата добавления - 08 Ноя 2011 в 23:13
seamanДата: Вт, 08 Ноя 2011, 23:44 | Сообщение # 3
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Этот код:
Code

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
      void Awake() {
          Resolution[] resolutions = Screen.resolutions;
          foreach (Resolution res in resolutions) {
              print(res.width + "x" + res.height);
          }
      }
}

Все пишет, но в редакторе пишет лажу. Почему не пишет у Вас - Screen.resolutions не может вызываться из статического конструктора. Перенесите ее в Awake.
 
СообщениеЭтот код:
Code

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
      void Awake() {
          Resolution[] resolutions = Screen.resolutions;
          foreach (Resolution res in resolutions) {
              print(res.width + "x" + res.height);
          }
      }
}

Все пишет, но в редакторе пишет лажу. Почему не пишет у Вас - Screen.resolutions не может вызываться из статического конструктора. Перенесите ее в Awake.

Автор - seaman
Дата добавления - 08 Ноя 2011 в 23:44
Snake_BДата: Ср, 09 Ноя 2011, 12:39 | Сообщение # 4
 
Сообщений: 8
Награды: 0
Репутация: 8
Статус: Offline
спасибо.... разобрался вроде...
 
Сообщениеспасибо.... разобрался вроде...

Автор - Snake_B
Дата добавления - 09 Ноя 2011 в 12:39
Zer0nДата: Ср, 09 Ноя 2011, 14:09 | Сообщение # 5
 
Сообщений: 880
Награды: 23
Репутация: 516
Статус: Offline
Банальщина.

 
СообщениеБанальщина.

Автор - Zer0n
Дата добавления - 09 Ноя 2011 в 14:09
chapaeffДата: Сб, 23 Ноя 2013, 12:20 | Сообщение # 6
 
Сообщений: 48
Награды: 0
Репутация: 12
Статус: Offline
Извините, а на яве такое можно?

---------------------------------------------------------------------------------------
Throw Exception
(ノಠ益ಠ)ノ彡┻━┻
Catch Exception
┬──┬ ノ( ゜-゜ノ)
 
СообщениеИзвините, а на яве такое можно?

Автор - chapaeff
Дата добавления - 23 Ноя 2013 в 12:20
Форум Игроделов » UNITY3D » СКРИПТИНГ » Разрешение дисплея ([C#])
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024