ООП в Юнити
|
|
JSent | Дата: Среда, 15 Января 2014, 20:03 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Сильно запутался с классами в Юнити. Смотрите, каждый скрипт в проекте представляет собой новый класс? Или всё таки объект? Или как?
Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
Сообщение отредактировал JSent - Среда, 15 Января 2014, 23:37 |
|
| |
seaman | Дата: Среда, 15 Января 2014, 20:18 | Сообщение # 2 |
старожил
Сейчас нет на сайте
| Цитата Сильно запутался с классами в Юнити Вы запутались не в Юнити, а просто с классами. Для понимания вопроса нужно просто изучить на уровне новичка ООП. Что такое "класс", и что такое "экземпляр класса". Что такое "объект", что такое "компонент". Вот когда поймете что значат все эти термины - путаницы не будет.
|
|
| |
JSent | Дата: Среда, 15 Января 2014, 21:01 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Изучаю. А ответ на мой вопрос всё-так существует?
Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
|
|
| |
seaman | Дата: Среда, 15 Января 2014, 21:12 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Существет.
|
|
| |
KamiRonin | Дата: Среда, 15 Января 2014, 22:24 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| Цитата JSent ( ) Сильно запутался с классами в Юнити. Смотрите, каждый скрипт в проэкте представляет собой новый класс? Или всё таки объект? Или как? каждый скрипт - это новый класс. слово "объект" имеет много значений - например "3D объект сцены" это объект, к которому может быть прикреплен скрипт. (Есть другое значение = Object, это КЛАСС, предок всех классов в юнити). для программного оперирования скриптами есть понятие "Компонент", из которого вытекают разные операции согласно задумке Юнити - например: ---- на объект Zomby повешен компонент "ZombyAI" - который являет собой скрипт (обязательно), ---- содержащий класс (это явно указано если язык скрипта C#, и подразумевается если UnityScript).
Компоненты бывают разные, не только скриптовые.
Следующий уровень понимания: - Юнити настаивают, чтобы скрипт (особенно на С#) назывался в точности как содержащийся в нем класс. Это правило создания и использования скриптов(а значит и классов). - Внутри скриптов иногда вкладывают несколько классов. Это не должно сбивать, т.к. есть главный класс, именем которого (обычно) назван скрипт. - И поэтому программно мы можем создать ссылку на класс (выглядит это как будто мы указываем в описании типа переменной имя скрипта - они ведь одинаково называются) и потом пользоваться этой ссылкой.
ну как то так. что еще тебя сбивает?
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
Сообщение отредактировал KamiRonin - Среда, 15 Января 2014, 22:31 |
|
| |
Izaron | Дата: Среда, 15 Января 2014, 23:30 | Сообщение # 6 |
Rammstein forever
Сейчас нет на сайте
| Меня сбило вот это:
" Юнити настаивают, чтобы скрипт (особенно на С#) назывался в точности как содержащийся в нем класс. " 1. Это настояния не юнити, а стандарта С#, т.е. мы имеем дело с реальным С#, а не Java-Unity-Script 2. Ты точно помнишь скрипты на JavaScript?))
|
|
| |
JSent | Дата: Среда, 15 Января 2014, 23:38 | Сообщение # 7 |
постоянный участник
Сейчас нет на сайте
| KamiRonin, прояснилось, спасибо.
Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.
|
|
| |
KamiRonin | Дата: Среда, 15 Января 2014, 23:56 | Сообщение # 8 |
почти ветеран
Сейчас нет на сайте
| Цитата Izaron ( ) 1. Это настояния не юнити, а стандарта С#, т.е. мы имеем дело с реальным С#, а не Java-Unity-Script нет. в чистом C#, например в VisualStudio ты можешь создать класс внутри файла с любым именем. юнити использует полноценный C#. java подобный UnityScript это не "поддельный" С# и никогда за таковой не считался. Цитата Izaron ( ) 2. Ты точно помнишь скрипты на JavaScript?)) в моем посте ни разу JavaScript не упоминается. только UnityScript. и там действительно - каждый отдельный файл "считается" отдельным классом. хотя все знают в JavaScript классов нет, есть только прототипы, функции.
Мыслю - значит программирую... Конструктивная критика - умных ведет к совершенству... Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
|
|
| |