Пространства имен в Unity

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Пространства имен в Unity

Сообщение Rinal 28 май 2013, 13:04

Здравствуйте! Подскажите пожалуйста как правильно использовать пространства имен в юнити. Я создал скрипт, который наследуется от MonoBehaviour, задал этот скрипт в namespace. А юнити потом мне говорить название скрипта и название файла разные. Причем для других скриптов сработало. Кто-то с таким сталкивался?
Rinal
UNIт
 
Сообщения: 91
Зарегистрирован: 25 апр 2012, 15:29

Re: Пространства имен в Unity

Сообщение seaman 28 май 2013, 15:49

Читаем мануал:
http://docs.unity3d.com/Documentation/S ... 6_Boo.html
пятый пункт
Не понимаете по английски? Тогда тут:
http://devuni.tk/docs/scripting-manual/ ... ing-manual
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Пространства имен в Unity

Сообщение BornFoRdeatH 28 май 2013, 15:55

Это в монобехе нельзя пространство имен использовать или как?
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Пространства имен в Unity

Сообщение Woolf 28 май 2013, 16:23

А накой они вообще, эти "пространства имен", ну, кроме захламления кода? Ладно, я понимаю в java - там пекедж это вполне себе реальная структурная и логическая единица. А в сишарпе что? Сделали "для галочки" ни логичности, ни красоты, ни удобства.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Пространства имен в Unity

Сообщение BornFoRdeatH 28 май 2013, 16:31

Ну я в предыдущем отложенном на будущее проекте использовал в одном классе, там хранились статические функции вычислений(типа свой Mathf), вполне удобно было пользоваться.
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Пространства имен в Unity

Сообщение Woolf 28 май 2013, 16:32

BornFoRdeatH писал(а):Ну я в предыдущем отложенном на будущее проекте использовал в одном классе, там хранились статические функции вычислений(типа свой Mathf), вполне удобно было пользоваться.


Так это же не пространство имен, а статичный класс. Вы не путайте.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Пространства имен в Unity

Сообщение BornFoRdeatH 28 май 2013, 16:34

Так в юзесах использовать.

Вот нарыл кусок
Синтаксис:
Используется csharp
namespace Assets.Scripts.Modules
{
    namespace Angles
    {
        public static class Angles
        {
            public static float AngleAroundAxis(Vector3 dirA, Vector3 dirB, Vector3 axis)
            {
                dirA = dirA - Vector3.Project(dirA, axis);
                dirB = dirB - Vector3.Project(dirB, axis);
                float angle = Vector3.Angle(dirA, dirB);
                return angle * (Vector3.Dot(axis, Vector3.Cross(dirA, dirB)) < 0 ? -1 : 1);
            }

            public static float AngleSigned(Vector3 v1, Vector3 v2, Vector3 n)
            {
                return Mathf.Atan2(
                    Vector3.Dot(n, Vector3.Cross(v1, v2)),
                    Vector3.Dot(v1, v2)) * Mathf.Rad2Deg;
            }
        }
    }
}

 


А в другом классе что-то вроде, уже и забыл :))
uses Assets.Scripts.Modules.Angles

Наверное так:
uses Assets.Scripts.Modules;

Angles.AngleAroundAxis(блабла);
Не бойся, если ты один, бойся, если ты ноль.
BornFoRdeatH
Адепт
 
Сообщения: 2377
Зарегистрирован: 22 окт 2011, 23:41
Откуда: Украина
Skype: bornfordeath

Re: Пространства имен в Unity

Сообщение pod4444 28 май 2013, 16:54

Woolf писал(а):А накой они вообще, эти "пространства имен", ну, кроме захламления кода? Ладно, я понимаю в java - там пекедж это вполне себе реальная структурная и логическая единица. А в сишарпе что? Сделали "для галочки" ни логичности, ни красоты, ни удобства.

вполне нормальные таки пространства имен: и логичность, и удобство. я не представлять как тысячи строк кода не раскидывать по неймспейсам, ведь так меньше мусора в IntelSense, тоже самое, что писать все решение в одном классе без вложенных типов и так далее: можно, но неудобно.
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт

Re: Пространства имен в Unity

Сообщение Woolf 28 май 2013, 17:17

и логичность, и удобство.


Кхм.. Где это вы нашли логичность и удобство? Логичность в чем? Берем ту же джаву - там пекедж это отдельный джарник, логично отделенный от основной прораммы. Или же это отдельная папка в проекте. Все красиво и логично. Что тут? Тут ничего, каша.

В общем, сложно джависту объяснить удобство джавовских пекеджей против сишарповских (да вообще, мелкософтовских) пространств имен.. Чувствуешь себя обделенным и насранным в коде всеми этими namespace после эклипса.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

Re: Пространства имен в Unity

Сообщение seaman 28 май 2013, 17:31

А чем тут отличается. VS прямо таки при создании класса в подпапке проекта дает ему по умолчанию неймспейс с именем этой подпапки. Если Вы хотите захламленности проекта, Вы, конечно можете это игнорировать. Да, тут отдельная dll - это отдельный проект в решении. Но кто Вам мешает отдельный проект делать с отдельным неймспейсом, а папка она и так отдельная.
Как бы тут гораздо более гибко. А захламленность - она от Вас зависит а не от языка.
Еще раз, не так сумбурно.
Отдельный проект - отдельный dll, отдельный namespace. У проекта отдельная папка. Чем это от java отличается? Можно портить картину, если приспичит - в проекте использовать несколько namespace и более того одно namespace в разных проектах. Но кто заставляет?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Пространства имен в Unity

Сообщение pod4444 28 май 2013, 17:33

Woolf писал(а):
и логичность, и удобство.


Кхм.. Где это вы нашли логичность и удобство? Логичность в чем? Берем ту же джаву - там пекедж это отдельный джарник, логично отделенный от основной прораммы. Или же это отдельная папка в проекте. Все красиво и логично. Что тут? Тут ничего, каша.

В общем, сложно джависту объяснить удобство джавовских пекеджей против сишарповских (да вообще, мелкософтовских) пространств имен.. Чувствуешь себя обделенным и насранным в коде всеми этими namespace после эклипса.

кто Вам мешает пилить отдельной сборкой namespace? их суть ограничивать видимость классов так, чтобы ограничить рабочее пространство и предотвратить коллизию имен. Представьте, что весь System был бы одним namespace, это же ад был бы, тысячи классов в одной видимости.
наоборот хорошо, что неймспейсы не привязаны к отдельному модулю, иначе наоборот бы это усложнило разработку.
Аватара пользователя
pod4444
Старожил
 
Сообщения: 721
Зарегистрирован: 20 янв 2012, 22:02
Откуда: Воронеж
Skype: pod4444
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22