Страница 1 из 1

Движение текста на префабе

СообщениеДобавлено: 31 окт 2019, 22:45
mozbox264
Всем доброго времени суток. Дайте совет пожалуйста, мозги уже кипят.

Есть префаб, на нем скрипт выводит текст при определенных условиях. Как сделать чтоб этот текст перемещался вверх.

Vector3 worldPosition = new Vector3(transform.position.x, transform.position.y + textHeight, transform.position.z);
Vector3 screenPosition = Camera.main.WorldToScreenPoint(worldPosition);
screenPosition.y = Screen.height - screenPosition.y;

GUI.Label(new Rect(screenPosition.x, screenPosition.y, 0, 0), text, style);

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 06:15
1max1
Обязательно это делать через легаси юи?

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 07:44
mozbox264
1max1 писал(а):Обязательно это делать через легаси юи?


Не обязательно. Можно создать префаб текста и вызывать его Instantiate, Destroy. Я но читал, что это очень ресурсозатратно. Текст вызывается раз 1-3 секунды. Скажется ли это на производительности? Или можно как то создать пул из префаба?

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 08:56
1max1
mozbox264 писал(а):
1max1 писал(а):Обязательно это делать через легаси юи?


Не обязательно. Можно создать префаб текста и вызывать его Instantiate, Destroy. Я но читал, что это очень ресурсозатратно. Текст вызывается раз 1-3 секунды. Скажется ли это на производительности? Или можно как то создать пул из префаба?

Зачем каждый раз его удалять? Один раз создай потом меняй текст и отключай если не надо.

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 15:18
mozbox264
1max1 писал(а):
mozbox264 писал(а):
1max1 писал(а):Обязательно это делать через легаси юи?


Не обязательно. Можно создать префаб текста и вызывать его Instantiate, Destroy. Я но читал, что это очень ресурсозатратно. Текст вызывается раз 1-3 секунды. Скажется ли это на производительности? Или можно как то создать пул из префаба?

Зачем каждый раз его удалять? Один раз создай потом меняй текст и отключай если не надо.


Нигде не могу найти информацию, смотрю видео на английском. Там немного не так.

Игра 2D. На сцене 15 префабов в пул (шары). При нажатии на них они лопаются и нужно вывести текст в "Счёт". Создал текст в канвасе, сделал анимацию тексту, поместил его в Resources. В префаб шарика добавил скрипт, который создает этот текст из папки Resources, но создает он его только при появлении шара (SetActive = true) и не в канвасе. При появлении шара есть просадка и в иерархии появляется префаб текста. Не думаю, что это верно.

15 шаров и 15 текстовых префабов. Они создаются при каждом новом появлении шара. Пока все 15 по кругу не будут хоть раз активны. Не знаю понятно ли я изложил, но дело дрянь)

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 15:50
1max1
Еще раз...
Почему нельзя просто создать текст заранее? Зачем его делать префабом я не понимаю. Создай текст на канвасе, а в своих скрипта для шара укажи ссылку на этот текст и когда надо управляй им.

Re: Движение текста на префабе

СообщениеДобавлено: 01 ноя 2019, 16:34
mozbox264
1max1 писал(а):Еще раз...
Почему нельзя просто создать текст заранее? Зачем его делать префабом я не понимаю. Создай текст на канвасе, а в своих скрипта для шара укажи ссылку на этот текст и когда надо управляй им.


На префаб нельзя ссылку на объект вешать. Или я не прав?

Или поиском Find? Тоже такое себе