Как создать обычную кнопку с текстовой меткой в Unity 4.6 без использования каких-либо сборных или клонирующих существующих объектов игры? Я буду использовать кнопку для целей отладки, поэтому я не хочу загромождать иерархию дизайна с помощью этой кнопки.Создать кнопку пользовательского интерфейса из сценария C# в Unity 4.6 без каких-либо сборных данных
Создать кнопку пользовательского интерфейса из сценария C# в Unity 4.6 без каких-либо сборных данных
ответ
Следующие действия относятся только к унаследованной системе gui от Unity3 (до 2012 года). Теперь он недоступен.
Добавьте эту функцию в любой скрипт и на ней отобразится кнопка размером 100 х 100 пикселей в верхнем левом углу. Затем просто измените Debug.Log
на ваш код отладки.
void OnGUI() // deprecated, use ordinary .UI now available in Unity
{
if(GUI.Button(new Rect(0, 0, 100, 100), "Debug!")){
Debug.Log("Do some debugging");
}
}
Это работает. Но нет ли способа использовать кнопку 4.6? – Jonny
Хотя я отметил это правильно, вопрос по-прежнему остается без ответа, как для кнопки пользовательского интерфейса. Я нахожусь в поиске практического почти каждый день. Если кто-то может опубликовать рабочий пример, я отвечу вместо этого. – Jonny
Вопрос конкретно о 4.6+. GUI-класс устарел/устарел –
необходимо создать сборку элемента пользовательского интерфейса, который вы хотите создать. И после того, как вы можете манипулировать своим элементом ui как игровым объектом и использовать метод GetComponet для управления свойствами и методами. Смотрите Справку http://docs.unity3d.com/Manual/HOWTO-UICreateFromScripting.html
Проблема с этим подходом заключается в том, что в этом случае, когда я не хочу загромождать дизайн с помощью элементов dev/debug, сборщик dev будет располагаться между производством префабы. Я не хочу отправлять этот материал. Вот почему я спросил: «Никаких предвалов, пожалуйста». – Jonny
Вы можете использовать это для UI 4.6
public void CreateButton(Transform panel ,Vector3 position, Vector2 size, UnityEngine.Events.UnityAction method)
{
GameObject button = new GameObject();
button.transform.parent = panel;
button.AddComponent<RectTransform>();
button.AddComponent<Button>();
button.transform.position = position;
button.GetComponent<RectTransform>().SetSize(size);
button.GetComponent<Button>().onClick.AddListener(method);
}
- 1. Создать кнопку в Unity 4.6 из кода
- 2. Unity Создать элемент управления пользовательского интерфейса из сценария
- 3. Кнопки в Unity, без использования пользовательского интерфейса?
- 4. Получение направляющих из сборных блоков в Unity
- 5. Как изменить 2 разных текста пользовательского интерфейса с помощью скрипта C# в Unity 4.6
- 6. Как создать кнопку пользовательского интерфейса от SpriteFrames?
- 7. Как создать скрипт controls в Unity 4.6?
- 8. создать простой (и видимый!) Слайдер пользовательского интерфейса в Unity 5
- 9. Поместите изображение пользовательского интерфейса в Grid Layout Group Unity C#
- 10. Unity 5 Upgrade Сделан сценарий из Unity 4.6 остановки работы
- 11. Столкновения между элементами пользовательского интерфейса в Unity
- 12. Использование нового компонента изображения пользовательского интерфейса для отображения изображения в Интернете в Unity 4.6
- 13. Компоненты пользовательского интерфейса Resize Unity на планшете
- 14. Скрытие панели пользовательского интерфейса из сценария в единстве
- 15. Unity 4.6+: как отключить/включить панель GUI с кнопкой пользовательского интерфейса по сценарию
- 16. Как получить текст элемента пользовательского интерфейса для перемещения в Unity 4.6+?
- 17. Скрыть кнопку меню пользовательского интерфейса
- 18. C# ждет задание без блокировки пользовательского интерфейса
- 19. Unity - Как оживить текст пользовательского интерфейса?
- 20. Применение изображения к панели пользовательского интерфейса Unity
- 21. Приложение BlackBerry без пользовательского интерфейса
- 22. Unity 4.6 UGUI Mask in Worldspace Canvas
- 23. Создать компоненты пользовательского интерфейса
- 24. Изменение изображения пользовательского интерфейса с использованием сценария в единстве C#
- 25. Hidding UIText в Unity 4.6
- 26. Использование Grails без пользовательского интерфейса
- 27. Unity + Vuforia: элементы пользовательского интерфейса, не показывающие
- 28. Код запуска Unity при касании с изображением пользовательского интерфейса - C#
- 29. Проект Hudson без пользовательского интерфейса
- 30. Toggle Mute in Unity 4.6
Связанные нити: forum.unity3d.com/threads/creating-a-gui-from-code.263563 <- из этой дискуссии я Думаю, что даже если существует способ создать нормальную кнопку из кода, она настолько раздута и уродлива, что это, вероятно, не стоит проблем. Конечно, беспорядок с несколькими дополнительными сборными может быть не на 100% чистым, но он выглядит как меньшее зло. – Jonny
Я не уверен, как этот вопрос может быть дубликатом, как он был написан в 2014 году, и этот другой вопрос был написан 2016. – Jonny