Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 20.06.2012, 17:37   #1
MungoXP
AnyKey`щик
 
Регистрация: 20.06.2012
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Сохранить значение переменной при перезагрузке уровня

Всем привет!
У меня на сцене есть объект. При нажатии на кнопку, на этом объекте меняется текстура. У каждой текстуры свой номер(1; 2; 3 и etc). Иногда надо перезагружать уровень. Вопрос: как сохранить значение переменной, которая определяет номер текстуры, при перезагрузке уровня.
P.S.: Помогать желательно примерами на JavaScript(UnityScript).
Спасибо.

var iBox : GameObject; 
var i = 0;

function iFuntion() 
{ 
           i++
           switch (i) 
           { 
               case 1: 
                Resources.UnloadUnusedAssets(); 
                   iBox.image = Resources.Load("1i"); 
                   break; 
               case 2: 
                   Resources.UnloadUnusedAssets(); 
                   iBox.image = Resources.Load("2i"); 
                   break; 
               case 3: 
                   Resources.UnloadUnusedAssets(); 
                   iBox.image = Resources.Load("3i"); 
                   break; 
       } 
}
(Offline)
 
Ответить с цитированием
Старый 21.06.2012, 11:20   #2
cahekp
Разработчик
 
Аватар для cahekp
 
Регистрация: 14.12.2008
Адрес: Томск
Сообщений: 530
Написано 270 полезных сообщений
(для 883 пользователей)
Ответ: Сохранить значение переменной при перезагрузке уровня

Привет!
Используй для этих целей статические переменные. Они не сбрасываются на значения по-умолчанию при перезагрузке и загрузке других сцен, также они не видны в окне Инспектора.

Не уверен, как это делается в JavaScript, но подозреваю, что надо писать как-то так: static var i = 0;
__________________
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MungoXP (22.06.2012)
Старый 21.06.2012, 12:10   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Сохранить значение переменной при перезагрузке уровня

Есть еще вариант DontDestroyOnLoad, но сложность в том, что надо следить за тем, чтобы не создавалось лишних копий объекта при загрузке того-же уровня. Общие объекты можно создать в стартовой сцене например.
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
MungoXP (22.06.2012)
Старый 22.06.2012, 04:28   #4
MungoXP
AnyKey`щик
 
Регистрация: 20.06.2012
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Сохранить значение переменной при перезагрузке уровня

Сообщение от pax Посмотреть сообщение
Есть еще вариант DontDestroyOnLoad, но сложность в том, что надо следить за тем, чтобы не создавалось лишних копий объекта при загрузке того-же уровня. Общие объекты можно создать в стартовой сцене например.
Я уже пробовал это.... но все равно спасибо!
(Offline)
 
Ответить с цитированием
Старый 22.06.2012, 04:30   #5
MungoXP
AnyKey`щик
 
Регистрация: 20.06.2012
Сообщений: 3
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Сохранить значение переменной при перезагрузке уровня

Сообщение от cahekp Посмотреть сообщение
Привет!
Используй для этих целей статические переменные. Они не сбрасываются на значения по-умолчанию при перезагрузке и загрузке других сцен, также они не видны в окне Инспектора.

Не уверен, как это делается в JavaScript, но подозреваю, что надо писать как-то так: static var i = 0;
Верно подозреваешь! Помогло, Большое спасибо.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:55.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com