Size: a a a

2021 January 23

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
Хотя, вообще-то кеширование и подразумевает геткомпонент, да). Сначала, через него сохраняешь объект в переменную. А потом уже вызываешь функцию.
Если кешировать - не дорого.
Можешь пример с кэшированием привести ? я стараюсь все скрипты кэшировать
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
Хотя, вообще-то кеширование и подразумевает геткомпонент, да). Сначала, через него сохраняешь объект в переменную. А потом уже вызываешь функцию.
Если кешировать - не дорого.
кэширование про это ?
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
Можешь пример с кэшированием привести ? я стараюсь все скрипты кэшировать
Score score = GetComponent<Score>();
score.function();
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
Score score = GetComponent<Score>();
score.function();
++
источник

ЕИ

Евгений Иващенко... in unity3d.ru
один раз закешировал и больше не нужно повторно вызывать геткомпонент, если нужно повторно обратиться к этому же объекту, т.к. уже есть готовая ссылка на объект
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
все отлично, только вот че то ошибку пишет)
А срока 70 - это которая?
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
один раз закешировал и больше не нужно повторно вызывать геткомпонент, если нужно повторно обратиться к этому же объекту, т.к. уже есть готовая ссылка на объект
про это я знаю, но не совсем понимаю как он найдет обьект на котором весит скрипт Score ?
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
про это я знаю, но не совсем понимаю как он найдет обьект на котором весит скрипт Score ?
из collision
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
А срока 70 - это которая?
на эту строку ругается
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
про это я знаю, но не совсем понимаю как он найдет обьект на котором весит скрипт Score ?
collision.gameObject.GetComponent<Score>();
https://docs.unity3d.com/ru/2019.4/ScriptReference/Collision2D.html
Справочники по классам нужно читать.
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
collision.gameObject.GetComponent<Score>();
https://docs.unity3d.com/ru/2019.4/ScriptReference/Collision2D.html
Справочники по классам нужно читать.
такая же ошибка
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
такая же ошибка
минутку
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
такая же ошибка
Покажи саму функцию Hit()
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
Покажи саму функцию Hit()
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Странно. Показал тебе способ, который работает у меня. Скинь проект. Аж интересно стало. Через файлообменник. Без библиотек
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
все отлично, только вот че то ошибку пишет)
А, ещё всегда нужно проверять, существует ли тот объект. Он может не существовать, а ты к нему обращаешься. Именно это и означает твоя ошибка.
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Score score = collision.gameObject.GetComponent<Score>();
if(score != null){
  score.Hit();
}

В частности, для этого используется кеширование.
источник

RG

Rulsan Gerasimov in unity3d.ru
Евгений Иващенко
Score score = collision.gameObject.GetComponent<Score>();
if(score != null){
  score.Hit();
}

В частности, для этого используется кеширование.
Ладно утром проверю все
источник

RG

Rulsan Gerasimov in unity3d.ru
Точнее как встану
источник

ЕИ

Евгений Иващенко... in unity3d.ru
Rulsan Gerasimov
Ладно утром проверю все
Да ладно тебе. Я уже готовый код привёл, нужно только вставить и запустить.
источник