2015-09-18 2 views
0

В меню вы можете создать новый объект gameObject или компонент, например, кнопки. Оба они, похоже, обладают такими же свойствами.В чем разница между UI gamObject и компонентом пользовательского интерфейса?

Я понимаю, что компоненты могут быть прикреплены к другим элементам управления, а gameObjects - это объекты, которые сами по себе являются объектами, но которые следует использовать, когда и почему?

Глубокое понимание было бы полезно.

+0

Спасибо за редактирование –

ответ

1

Я добавил пример изображения.

Дается общее объяснение.

enter image description here

Кроме:

GameObject, это термин, относящийся к любому и всем объектам в Unity3D. В Unreal Engine мы называем объекты «Актеры или Пешки».

Для того чтобы манипулировать GameObject или иметь функциональность, они должны иметь «Компоненты».

Итак, давайте представим, что GameObject - это просто контейнер, который имеет возможность принимать «компоненты», такие как: Преобразование данных местоположения, кнопки пользовательского интерфейса, звукового эффекта, эффекта частиц, кода, который позволяет взаимодействовать с пользователем и т. Д.

Примечание: Когда мы добавим Unity3D GameObject, все GameObjects придет с каким-то компонентом Transform уже прилагаются. В некоторых случаях, например, когда вы добавляете UI Button GameObject, он будет поставляться с несколькими уже прикрепленными компонентами. Эти предварительно прикрепленные компоненты обычно требуются для создания функции GameObject, а Unity упростит нам жизнь Разработчиков, предварительно добавив их.

Вы можете создать «Empty GameObject», который будет иметь только компонент Transform.Оттуда вы можете создать индивидуальный объект любого типа. Если вы хотите создать свою собственную версию кнопки пользовательского интерфейса, вы можете сделать это, создав свои собственные компоненты для обработки взглядов, взаимодействий и событий.

Теперь, если мы относим это к UI GameObject:

A UI GameObject является контейнером, который содержит все ваши UI компоненты.

Итак, в моем примере изображение, я показываю UI GameObject с именем «MenuScreenCanvas», поэтому я назвал его таким, потому что он содержит компоненты, которые определяют его как элемент Canvas.

Далее мы видим, что я выделяю дочерний пользовательский интерфейс GameObject под названием «PlayButton». Этот игровой элемент PlayButton UI GameObject привязал к нему несколько компонентов пользовательского интерфейса, в том числе: Canvas Renderer, изображение (которое является серым фоном кнопки) и скрипт Button (который обрабатывает взаимодействие между кликом/кликом игрока на экране и фактическая GameObject

Ломая компоненты немного больше:.

компонент может варьироваться от легких данных внешней среды, к источнику звука и их интерактивным подсказкам в игре, к коду дающей возможности UI, чтобы инициировать событие из-за взаимодействия пользователя.

Button Пример:

При добавлении кнопки, используя uGUI GameObjects:

enter image description here

Эта новая кнопка GameObject будет поставляться с компонентами уже прикрепленными, которые удобно позволяют создавать их быстро и эффективно.

Это как стандартная кнопка GameObject будет выглядеть в иерархии, и компоненты, которые вы видите в инспекторе стандартно, как Единства 5.2.0f3:

enter image description here

Ссылка на видео: Создание стандарта (только для обучения и потому, что мы можем ...):

https://youtu.be/v7RiUvOG5H4 (Не уверен, что это вообще помогает, но я надеюсь, что так ...).

Надеюсь, что это поможет. Если вам нужно больше, не стесняйтесь спросить: D

+1

"* Глубокое понимание было бы полезно. *" Это глубокое понимание? –

+0

Упс. Я добавлю. Спасибо за примечание @WaiHaLee – ejsd1989

+0

Grand. Благодарю. :) –

1

В меню вы можете создать новый объект gameObject или компонент , например, кнопки. Оба они, похоже, имеют одинаковые свойства .

Меню GameObject предназначено для создания нового объекта в сцене. Меню «Компонент» предназначено для добавления компонента к выбранному объекту сцены. Например, при создании кнопки нет никакой разницы в свойствах компонента Button при создании из меню GameObject или добавлении компонента Button в пустой игровой объект.

который следует использовать, когда и почему?

В общем, создание игрового объекта отвечает потребностям наиболее распространенных случаев использования. Обычно я использую меню Component при добавлении коллайдера или скрипта, который я создал.

В случае кнопки, создавая ее из меню GameObject, также создается объект игры Text как дочерний элемент Button. Если вы хотите добавить компонент Button в существующий игровой объект, он не добавит для вас дочерний текстовый объект. Чтобы иметь текст на кнопке, вам нужно будет создать этот дочерний объект Text самостоятельно.

+0

Возможно, вы, вероятно, не получили мой вопрос. Мой вопрос в том, в чем разница между ** UI ** gameObject и ** ** компонентом UI **, когда все, что они содержат, одинаковы? –

+0

Также я хочу знать, как решить, что больше подходит для создания в любой ситуации, а не как создать один из них. –

+0

Ответ обновлен, чтобы лучше отражать вопросы. – user3071284

Смежные вопросы