Я пытаюсь создать кнопки пользовательского интерфейса, и у меня возникают проблемы. Когда я использую
GUI.Button (новый Rect (...), текстура, GUIStyle); Я могу установить положение кнопки, GUIStyle и текстуру (это то, что мне нужно), но мне также нужно установить Panel в качестве родителя для каждой кнопки, есть метод под названием transform.setParent (игровой объект); , но GUI.Button возвращает bool. Я могу создать var b = new Button(); , но я не знаю, как передать GUIStyle или текстуру объекту Button. Мне нужно решить всю проблему из сценария Csharp. Настройте стиль и текстуру кнопки и родительскую кнопку одновременно! Благодарю.Кнопки пользовательского интерфейса в Unity, как настроить GUIStyle и родителя в то же время программно?
ответ
GUI класс не создает GameObjects в графе сцены, поэтому вы не можете определить отношения между ними.
Если вы хотите, чтобы фактические объекты пользовательского интерфейса вы могли манипулировать и вводить в иерархию, вам придется использовать новую систему GUI Unity (рекомендуется). Если вы не хотите использовать это, вы должны вычислить относительное положение себя ваш UI, как
Vector2 parentPos = ...;
GUI.Label(new Rect(parentPos.x, parentPos.y, 10, 10), "Label");
Vector2 childPos = ...;
GUI.Button(new Rect(parentPos.x + childPos.x, parentPos.y + childPos.y, 10, 10), "Button");
В качестве альтернативы, класс GUI также поддерживает матрицы преобразования.
GUI.matrix = Matrix4x4.identity;
Vector2 parentPos = ...;
GUI.Label(new Rect(parentPos.x, parentPos.y, 10, 10), "Label");
GUI.matrix = Matrix4x4.TRS(parentPos, Quaternion.identity, Vector3.one);
Vector2 childPos = ...;
GUI.Button(new Rect(childPos.x, childPos.y, 10, 10), "Button");
Это позволяет вам построить график сцены графического интерфейса самостоятельно.
Спасибо, но мне не нужна только «родительская позиция», мне нужен родительский GameObject, поэтому я могу попросить его о своих детях. – abea
Тогда вам придется использовать пользовательский интерфейс, основанный на GameObject, например, новый графический интерфейс Unity. –
- 1. Кнопки в Unity, без использования пользовательского интерфейса?
- 2. Unity - создание списка пользовательского интерфейса во время выполнения программно
- 3. Перемещение 2D-символа в Unity с помощью кнопки пользовательского интерфейса
- 4. Unity - динамически установить спрайт кнопки пользовательского интерфейса в цикле
- 5. Нокаут - Как настроить Вычислительные свойства для ребенка и родителя в одно и то же время?
- 6. Как настроить программно изменяемый размер пользовательского интерфейса в MATLAB
- 7. Программно позиционирующие элементы пользовательского интерфейса в C#
- 8. Столкновения между элементами пользовательского интерфейса в Unity
- 9. Настроить поля ввода и кнопки в Unity
- 10. Скрыть/Показать элементы пользовательского интерфейса в то время как петля
- 11. Unity3D: Как программно протестировать новые возможности пользовательского интерфейса
- 12. Unity 3D: изменение анимации спрайтов с помощью кнопки пользовательского интерфейса
- 13. Добавить кнопки программно Unity C#
- 14. Как установить шрифт для текста пользовательского интерфейса в Unity 3D программно
- 15. Компоненты пользовательского интерфейса Resize Unity на планшете
- 16. создать простой (и видимый!) Слайдер пользовательского интерфейса в Unity 5
- 17. как добавить дополнительные элементы пользовательского интерфейса, в то время как максимальная часть макета находится вне конструктора интерфейса в android
- 18. Unity - Как оживить текст пользовательского интерфейса?
- 19. Массовая вставка родителя/детей в то же время
- 20. Невозможно увидеть мой текст пользовательского интерфейса после нажатия кнопки в проекте Unity Cardboard (Unity 5.4.0b21)
- 21. Установите форму в качестве родителя кнопки программно
- 22. Различные случайные числа в то же время (Unity C#)
- 23. То же место для элементов пользовательского интерфейса (кнопки, кнопки изображения) на всех устройствах Android.
- 24. настроить кнопки программно не работает
- 25. Конфигурация Unity и то же собрание
- 26. Воспроизведение нескольких анимаций на одном и том же объекте в одно и то же время (Unity)
- 27. Прокрутка в то же время, что и ListView прокручивается
- 28. Цель C: добавление кнопки пользовательского интерфейса с ограничениями программно
- 29. Unity 5.4.2 - Элементы пользовательского интерфейса с масштабированием и позицией
- 30. Как настроить элементы размера пользовательского интерфейса в android
Если какой-либо из ответов сработал для вас, было бы полезно для других, если вы согласитесь с этим ответом. Если нет, не стесняйтесь комментировать полученные ответы или обновлять свой вопрос. –