как ЛУЧШЕ передать значение переменной ?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

как ЛУЧШЕ передать значение переменной ?

Сообщение kirya_355 10 сен 2018, 16:06

возник вопрос связанный с оптимизацией игры , а именно игры на телефоны, как лучше передавать значения переменных , через PlayerPrefs или через GameObject.Find("Object2").GetComponent<script2>()."переменная"? Есть ли еще варианты передачи переменных?
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение Anonymyx 10 сен 2018, 16:10

Передавать откуда куда и зачем?

Кэшируете нужные компоненты в Awake() или Start() и через объект.переменная обращаетесь.
Аватара пользователя
Anonymyx
Адепт
 
Сообщения: 1973
Зарегистрирован: 05 апр 2015, 15:55

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение kirya_355 10 сен 2018, 21:55

Anonymyx писал(а):Передавать откуда куда и зачем?

Кэшируете нужные компоненты в Awake() или Start() и через объект.переменная обращаетесь.

Вау

Покажите как так сделать , но мне уже не подходит ваш метод , так как переменная меняется в ходе игры , т.е. нельзя 1 раз объявить и потом обращаться .(или можно?)
А передавать нужно в другой скрипт .
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение AABB 10 сен 2018, 22:40

Кэшировать ссылку на скрипт
AABB
UNIт
 
Сообщения: 134
Зарегистрирован: 05 фев 2014, 15:52

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение Friend123 11 сен 2018, 09:47

Лень офф доки что-ль читать? Там есть ответы на 90% вопросов. И про кеширование там тоже есть.
Аватара пользователя
Friend123
Старожил
 
Сообщения: 701
Зарегистрирован: 26 фев 2012, 22:12
Откуда: Тверь
  • ICQ

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение kirya_355 11 сен 2018, 14:48

я так понимаю , вопрос вы не поняли , мне НЕ нужно оптимизировать скрипт , я спрашиваю как из 1 скрипта лучше передать переменнаю в другой скрипт , сейчас я это делаю с помощью PlayerPrefs , если вы знаете способ лучше напишите(скрипты в одной сцене находятся)
kirya_355
UNIт
 
Сообщения: 106
Зарегистрирован: 09 май 2018, 21:40

Re: как ЛУЧШЕ передать значение переменной ?

Сообщение 1max1 11 сен 2018, 15:53

возник вопрос связанный с оптимизацией игры

мне НЕ нужно оптимизировать скрипт

:-?
Думаю сначала нужно определиться с тем что тебе нужно. Переменную можно передавать по разному, если это глобальная переменная проще всего сделать ее статичной и обращается на прямую, а не рыскать ее через компоненты, если она не глобальна и объект на котором висит скрипт не дохнет каждые 5 секунд, то как писали выше достаточно закешировать скрипт и обращаться сколько угодно.

Пример глобальной переменной:
Синтаксис:
Используется csharp
// script1
public static int totalScore;

// script2 (обращение)
script1.totalScore += 10;
 


Пример НЕ глобальной переменной:
Синтаксис:
Используется csharp
// script1
public int totalScore;

// script2 (кеш + обращение)
script1 scr1;

void Start()
{
    scr1 = GameObject.Find("Object1").GetComponent<script1>();
}

void Update()
{
    scr1.totalScore += 10;
}
 
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 13