#c# #unity3d
#c# #unity3d
Вопрос:
Я создал массив из 20 кнопок, используя графический интерфейс.Кнопка Как мне получить ссылку на игровой объект после его создания? например, чтобы изменить его текст? Похоже, нет способа указать имя кнопки, которую вы создаете с помощью графического интерфейса.API кнопок.
GUI.Label(new Rect(offset_x, offset_y, buttonWidth, buttonHeight), "Delta from last");
offset_x = buttonWidth padding_x;
foreach (var kpi in kpis) {
GUI.Label(new Rect(offset_x, offset_y, buttonWidth, buttonHeight), kpi);
offset_x = buttonWidth padding_x;
}
Комментарии:
1. Для устаревшей системы графического интерфейса Unity вы не кэшируете ссылки на элементы графического интерфейса — вы просто перерисовываете их при каждом
OnGUI()
вызове. Я настоятельно рекомендую использовать их новую систему, если вы хотите использовать другой подход.2. ах, это все объясняет — у вас есть указатель на новую систему?
3. Конечно, вот ссылка на учебное пособие, чтобы вы начали: unity3d.com/learn/tutorials/modules/beginner /…
4. как часто вызывается OnGUI()? каждый кадр?
5. Это зависит. Согласно документации, он «может вызываться несколько раз за кадр», что является потенциальной проблемой производительности, когда вам нужно выполнить какой-либо пересчет значений.