Разрешение дисплея
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