forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Сохранить значение переменной при перезагрузке уровня (http://forum.boolean.name/showthread.php?t=16938)

MungoXP 20.06.2012 17:37

Сохранить значение переменной при перезагрузке уровня
 
Всем привет!
У меня на сцене есть объект. При нажатии на кнопку, на этом объекте меняется текстура. У каждой текстуры свой номер(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;
      }
}


cahekp 21.06.2012 11:20

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

Не уверен, как это делается в JavaScript, но подозреваю, что надо писать как-то так: static var i = 0;

pax 21.06.2012 12:10

Ответ: Сохранить значение переменной при перезагрузке уровня
 
Есть еще вариант DontDestroyOnLoad, но сложность в том, что надо следить за тем, чтобы не создавалось лишних копий объекта при загрузке того-же уровня. Общие объекты можно создать в стартовой сцене например.

MungoXP 22.06.2012 04:28

Ответ: Сохранить значение переменной при перезагрузке уровня
 
Цитата:

Сообщение от pax (Сообщение 230895)
Есть еще вариант DontDestroyOnLoad, но сложность в том, что надо следить за тем, чтобы не создавалось лишних копий объекта при загрузке того-же уровня. Общие объекты можно создать в стартовой сцене например.

Я уже пробовал это.... но все равно спасибо!

MungoXP 22.06.2012 04:30

Ответ: Сохранить значение переменной при перезагрузке уровня
 
Цитата:

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

Не уверен, как это делается в JavaScript, но подозреваю, что надо писать как-то так: static var i = 0;

Верно подозреваешь! Помогло, Большое спасибо.


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot