GUI.Options

Программирование на Юнити.

GUI.Options

Сообщение BlackMamba 06 янв 2011, 16:26

Доброго времени суток, занимаюсь реализацией опций в гуи, возникла проблема:
нет реакции на настройку Anisotropic Texture, пишу такой код:
Синтаксис:
Используется javascript
GUI.Label (Rect (5,140,200,30), "Anisotropic Level:" +ALevel);
                AnisotropicFilteringSlider = GUI.HorizontalSlider (Rect (210, 140, 200, 30), AnisotropicFilteringSlider, 1, 3);
                if (AnisotropicFilteringSlider == 1)
                        {QualitySettings.anisotropicFiltering = AnisotropicFiltering.Disable; ALevel = "Disabled";}
                if (AnisotropicFilteringSlider == 2)
                        {QualitySettings.anisotropicFiltering = AnisotropicFiltering.Enable; ALevel = "Enabled";}
                if (AnisotropicFilteringSlider == 3)
                        {QualitySettings.anisotropicFiltering = AnisotropicFiltering.ForceEnable; ALevel = "Full";}


по замыслу параметр должен меняться слайдером: при обновлении edit>project settings>quality
параметр anisotropic texture не меняется
как можно решить?
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение Zaicheg 06 янв 2011, 17:17

Слайдер возвращает float, вряд ли тут уместно == int. Или приводить к инту возвращаемое или допуск в сравнении.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: GUI.Options

Сообщение BlackMamba 06 янв 2011, 17:31

тоже так думал, но в случае с QualitySettings.pixelLightCount, прокатило, да и юнити не ругается, если в слайдер подсунуть инт-значение, ползунок встает только в дискретные положения, а не плавает, и возвращает целые значения из указанного диапазона, например в лейбл по положению ползунка значения подставляются:
Синтаксис:
Используется javascript
GUI.Label (Rect (5,170,200,30), "Lighting Quality:" +LLevel);
                LightingQualitySlider = GUI.HorizontalSlider (Rect (210, 170, 200, 30), LightingQualitySlider, 0, 4);
                QualitySettings.pixelLightCount = LightingQualitySlider;
                if (LightingQualitySlider == 0)
                        {LLevel = "Very Low";}
                if (LightingQualitySlider == 1)
                        {LLevel = "Low";}
                if (LightingQualitySlider == 2)
                        {LLevel = "Medium";}
                if (LightingQualitySlider == 3)
                        {LLevel = "Hihg";}
                if (LightingQualitySlider == 4)
                        {LLevel = "Very High";}
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение Zaicheg 06 янв 2011, 17:50

Сделал тест. Значиния фильтрации, выводимые через лейбл, меняются (это ведь и требовалось, насколько понимаю):
http://pastebin.com/P7bhdnmX
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: GUI.Options

Сообщение BlackMamba 06 янв 2011, 17:56

нееее :) проблема в том, что эти значения не видит юнити: завожу в редакторе скрипт, тыкаю слайдеры, открываю edit>project settings>quality а там значения не меняются
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение Zaicheg 06 янв 2011, 17:59

BlackMamba писал(а):нееее :) проблема в том, что эти значения не видит юнити: завожу в редакторе скрипт, тыкаю слайдеры, открываю edit>project settings>quality а там значения не меняются

И не должны. Ты там видишь параметры предустановок качества. А меняешь ты параметры текущего качества. Разные вещи.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: GUI.Options

Сообщение BlackMamba 06 янв 2011, 18:36

ну вообще, вот эти парамы:
QualitySettings.pixelLightCount
QualitySettings.shadowCascades
QualitySettings.shadowDistance
там изменяются, если потыкать загруженный скрипт, и обновить project settigs>guality.
текущий режим рендера - good, вот в нем 3 параметра менять удается, другие, при соблюдении их форматов данных почему-то не реагируют
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение BlackMamba 08 янв 2011, 14:59

в процессе реализации возник вопрос, можно ли перезаписать значения переменных, определенных в начале скрипта по какому-нибудь событию (по нажатию кнопки например)? ковырял мануалы по JS везде пишут применительно к html, может в unity есть подобная возможность?
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение EvgeniyT 08 янв 2011, 15:02

BlackMamba писал(а):в процессе реализации возник вопрос, можно ли перезаписать значения переменных, определенных в начале скрипта по какому-нибудь событию (по нажатию кнопки например)? ковырял мануалы по JS везде пишут применительно к html, может в unity есть подобная возможность?


Пишете в скрипте нужный обработчик события, например OnMouseDown(), и присваиваете в этом обработчике новые значения
EvgeniyT
UNIт
 
Сообщения: 142
Зарегистрирован: 14 дек 2010, 19:06
  • ICQ

Re: GUI.Options

Сообщение BlackMamba 08 янв 2011, 16:12

EvgeniyT писал(а):Пишете в скрипте нужный обработчик события, например OnMouseDown(), и присваиваете в этом обработчике новые значения

Вы пишите о присваивании, а мне надо перезаписать, чтобы при новом исполнении скрипта переменные инициализировались уже с новыми значениями, в общем не охота конфиг-файлы создавать
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение BlackMamba 10 янв 2011, 15:51

помогите, пожалуйста с проблемой:
есть текстовый файл:
ResolutionNumbSlider = 3
FullScreen = False
FrameRateSlider = 8
etc...

пишу в скрипте код, для "вытаскивания" из него значений переменных:
Синтаксис:
Используется javascript
static var ReadGameConfig : String[] = File.ReadAllLines("Assets/Scripts/GameConfig.txt");
static function SearchValue (LineValue) //ищем значения переменных
        {
        for (var NumberOfLine = 0; NumberOfLine <= ReadGameConfig.Length; NumberOfLine++) //перебираем элементы массива
                {
                if (ReadGameConfig[NumberOfLine].Contains(LineValue)) //если элемент содержит LineValie
                        {var pos : int = ReadGameConfig[NumberOfLine].IndexOf(" = "); //позиция равно
                        var Value : String = ReadGameConfig[NumberOfLine].Substring(0, pos).Trim();
                        return (Value*1);}
                }
        }


по идее значения после равно должно присвоиться переменной Value, как потом его перевести из string в int?
unity ругается и пишет, что не может конвертировать, в чем может быть проблема?
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение Serge 10 янв 2011, 17:45

По этой ссылке ссылка получите несколько вариантов, выбор нужного сделаете сами.
О, сколько нам открытий чудных Готовят просвещенья дух И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель.
Аватара пользователя
Serge
UNIверсал
 
Сообщения: 476
Зарегистрирован: 20 мар 2009, 15:53
Откуда: Сибирь г. Омск
  • Сайт
  • ICQ

Re: GUI.Options

Сообщение BlackMamba 12 янв 2011, 13:36

Serge писал(а):По этой ссылке ссылка получите несколько вариантов, выбор нужного сделаете сами.

(Value*1) - это как раз один из тех способов - не помогло, пробовал parseint () - тоже не помогло, пошёл другим путём и наткнулся на другую проблему, может быть кто знает: есть переменная string со значением типа "i = 1;", существует ли способ избавиться от кавычек и применить выражение в исполняемом скрипте?
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва

Re: GUI.Options

Сообщение DbIMok 12 янв 2011, 17:24

Синтаксис:
Используется javascript
function Start () {
        var s: String = "i = 1;";
        var i: int = 0;
        eval(s);
        Debug.Log(i);
}
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: GUI.Options

Сообщение BlackMamba 12 янв 2011, 21:28

Спасибо! помогло.
mail: _gdeMoiGusi@gmail.com
skype: Ellseworth
Аватара пользователя
BlackMamba
UNITрон
 
Сообщения: 305
Зарегистрирован: 06 янв 2011, 16:16
Откуда: Москва


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10