Среда, 18 Декабря 2024, 11:38

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
ООП в Юнити
JSentДата: Среда, 15 Января 2014, 20:03 | Сообщение # 1
постоянный участник
Сейчас нет на сайте
Сильно запутался с классами в Юнити. Смотрите, каждый скрипт в проекте представляет собой новый класс? Или всё таки объект? Или как? cry

Программист — человек, больной тяжёлой формой поражения коры головного мозга — интеллектом, который выражается в маниакально-деструктивном стремлении писать непонятные и бессмысленные наборы символов и словосочетаний.

Сообщение отредактировал 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).

Компоненты бывают разные, не только скриптовые.

Следующий уровень понимания:
- Юнити настаивают, чтобы скрипт (особенно на С#) назывался в точности как содержащийся в нем класс. Это правило создания и использования скриптов(а значит и классов).
- Внутри скриптов иногда вкладывают несколько классов. Это не должно сбивать, т.к. есть главный класс, именем которого (обычно) назван скрипт.
- И поэтому программно мы можем создать ссылку на класс (выглядит это как будто мы указываем в описании типа переменной имя скрипта - они ведь одинаково называются) и потом пользоваться этой ссылкой.

ну как то так. что еще тебя сбивает? smile


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


Сообщение отредактировал 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 классов нет, есть только прототипы, функции.


Мыслю - значит программирую...
Конструктивная критика - умных ведет к совершенству...
Великие умы обсуждают идеи, средние - обсуждают поступки, а малые - людей.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг