Вопрос-[ответ] по Unity
| |
QWER56 | Дата: Понедельник, 09 Августа 2010, 10:58 | Сообщение # 1 |
старожил
Сейчас нет на сайте
| Вопрос-[Ответ] по Unity3d
База скриптов Unity3d Курс Уроков по Unity 3D от Alcatraz
ConsMark - поисковик по интернет магазинам.
Сообщение отредактировал QWER56 - Вторник, 26 Июля 2011, 20:54 |
|
| |
Sanprabhu | Дата: Среда, 20 Июля 2016, 03:31 | Сообщение # 7961 |
частый гость
Сейчас нет на сайте
| ShortKedr, спасибо, буду пробовать.
Опять столкнулся с проблемой с клонами объекта: Нужно по клику на объект или его клон (который создается динамически время от времени), чтобы объект перемещался к нему. С изначальным объектом работает, с клонами - нет, объект стоит на месте.
Код if (hit.transform.position == transform.position) { player.transform.position = transform.position; }
|
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 12:23 | Сообщение # 7962 |
был не раз
Сейчас нет на сайте
| Список игроков храню в папке Assets формате txt. При тесте игры все идет нормально, но когда создаю exe-файл, то список игроков при выводе на экран оказывается пустым. Похоже, что не находит мой файл txt. Создал в папке Assets папку Text, положил список туда, один черт - при тесте все прекрасно, в откомпилированном файле - пусто. Причем, если при компиляции нажимаю Build&Run, то все вижу, а когда потом запускаю откомпилированный файл - то не вижу. Как будто мою текстовый файл не забирает в сборку. Почему? Да, путь к файлу указываю так: "Assets/Text/Ludantoj.txt". Может полное имя использовать? Сейчас попробую.
Попробовал. Да, причина в этом была. Теперь все работает как надо. Вот пока писал вопрос, ответ и нашелся. Извиняйте, что зря место и время занял.
Сообщение отредактировал Сталекс - Среда, 20 Июля 2016, 12:47 |
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 13:06 | Сообщение # 7963 |
Renword Studio
Сейчас нет на сайте
| Сталекс, Тык. Это про хранение объектов, префабов и прочей ерунды в "Assets" и подгрузке в Билде. Можешь поиздеваться над эти делом, но... Текстовые файлы, понятное дело, лучше создавать в отдельных папках на одном уровне с "Assets" и в зашифрованном виде =)
Добавлено (20 июля 2016, 13:06) ---------------------------------------------
Цитата Sanprabhu ( ) hit.transform.position == transform.position Sanprabhu, писали уже выше и я писал про погрешности с позициями. Пробуй так Vector3.Distance(hit.transform.position, transform.position) <= 0.001f А вообще я не особо понял что ты хочешь сделать, но если всё так как я понял то у тебя какая-та неправильная фигня написана =) Но, я могу ошибаться, потому что не до конца понял, что ты хочешь сделать, поэтому пробуй сначала тот вариант, который я написал
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 13:06 |
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 15:29 | Сообщение # 7964 |
был не раз
Сейчас нет на сайте
| Цитата ShortKedr ( ) Тык. Да тыкался я туда не раз, ни черта не понимаю - когда на русском тебе говорят, и то с трудом доходит, а уж если не по-нашему, то... Осмелюсь на еще один вопрос. Вот создал я элемент dropdawn. В инспекторе заполнил строки. Все красиво - нажимается, выбирается. Но как дальше-то? Как мне в скрипте к нему обратиться и узнать, что же там выбрали? Что-то типа такого: ... if (выбрано первое значение в выпадающем списке) {n=....}; if (выбрано второе значение в выпадающем списке) {n=....} ...
|
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 16:14 | Сообщение # 7965 |
участник
Сейчас нет на сайте
| Сталекс, В Unity шикарные доки
|
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 16:21 | Сообщение # 7966 |
Renword Studio
Сейчас нет на сайте
| Цитата Egoor ( ) В Unity шикарные доки Да, даже в MSDN или Sun они не настолько круты и продуманы, как в Unity =)
|
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 16:27 | Сообщение # 7967 |
был не раз
Сейчас нет на сайте
| Цитата Egoor ( ) В Unity шикарные доки Фигня это а не шикарные доки!!! Там не написано, как мне получить значение Value! Я не знаю, как мне написать вот здесь: if (выбрано первое значение в выпадающем списке) {n=....};
Там должно быть что-то такое: if (ИмяDropdown.Value=1) {n=....};
Каков синтаксис?
|
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 16:32 | Сообщение # 7968 |
Renword Studio
Сейчас нет на сайте
| Цитата Сталекс ( ) Фигня это а не шикарные доки!!! Там не написано, как мне получить значение Value! Это уже зависит от того, какой вы программист. Не знаю, как бы вы назвали MSDN с Sun доки тогда =)
Для справки: в VS или что ты там используешь(в большинстве), в том числе MonoDevelop есть dropdown список в редакторе кода, где ты можешь полазить, поискать. А вообще пробуй рассуждать логично. Куча однотипных значений - массив, значит нужно искать массив
Добавлено (20 июля 2016, 16:32) --------------------------------------------- Сталекс, ну и что там не на писано : Внимательней будьте, пожалуйста перед, бессмысленной клеветой...
Если вы совсем не разбираетесь, как это использовать, то dropdown.options[dropdown.value] - текущий выбранный элемент типа OptionData
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 16:47 |
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 16:47 | Сообщение # 7969 |
был не раз
Сейчас нет на сайте
| Программист я начинающий. Знаю только Бейсик и Паскаль. Был я там, где вы показываете. Я понял, что такое Value, но я не знаю, как его посмотреть в программе. Так, что-ли: if (dropdown.options[dropdown.value]=1) {n=....}; ? Будем пробовать.
|
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 16:48 | Сообщение # 7970 |
Renword Studio
Сейчас нет на сайте
| Сталекс, если знаете бейскик и паскаль, то, вероятно должны быть знакомы с массивами... Да, кстати в C# играет значение то, в каком регистре вы пишете, поэтому value в данном классе пишется с маленькой буквы, аналогично как в Unity Docs написано
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 16:50 |
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 17:00 | Сообщение # 7971 |
был не раз
Сейчас нет на сайте
| Спасибо, что отвечаете. Насчет регистра я в курсе, в программном тексте я написал правильно, а во фразе просто выделил с большой буквы. Но это чепуха, я вот не понимаю, если я напишу if (dropdown.options[dropdown.value]=1) {n=....}; то как комп поймет о каком dropdown я спрашиваю? А если их несколько? На бейсике каждый имеет свое имя: ComboBox1, ComboBox2... . И там бы я написал так: if ComboBox1.Value=1 then n=.... А как это написать в Unity, я не понимаю.
Сообщение отредактировал Сталекс - Среда, 20 Июля 2016, 17:05 |
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 17:22 | Сообщение # 7972 |
участник
Сейчас нет на сайте
| Сталекс, может лучше видео уроки посмотришь? Это даже не Unity, это вообще программирование. переменная dropdown у тебя содержит ссылку на конкретный объект, так и поймет.
Добавлено (20 июля 2016, 17:22) --------------------------------------------- А вообще примерно так, но тебе это не поможет
Код public Dropdown dropdown;
Задаешь этот объект в редакторе. Затем
Код if(dropdown.value == 1) { //тлен }
Если это сложно понять, можешь сделать так:
Код Dropdown dropdown; .... .... dropdown = GameObject.Find("DropDown1").GetComponent<Dropdown>();
Сообщение отредактировал Egoor - Среда, 20 Июля 2016, 17:26 |
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 17:35 | Сообщение # 7973 |
был не раз
Сейчас нет на сайте
| О, спасибо! Find я знаю, даже уже пользовался.
Количество видео-уроков приближается к бесконечности Все посмотреть - жизни не хватит. 1. Какой смотреть? 2. На моем древнем кинескопном мониторе там один черт ничего не разглядишь.
20 дней с начала изучения Unity и нулевой результат!!! Блин, да за это время я пол Бейсика выучил! И вот почему его так не любят? Все логично и понятно, а тут действительно шаманство какое-то, вместо того, чтобы логикой программы заниматься, приходится выискивать магические заклинания! (Не обижайтесь, это я просто зло срываю от беспомощности).
|
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 17:39 | Сообщение # 7974 |
Renword Studio
Сейчас нет на сайте
| Сталекс, в C# и проверка равенства пишется как "==" а не "=". "=" это присвоение.
Цитата Сталекс ( ) Все посмотреть - жизни не хватит. Думаю все подряд и сначала по программированию C# а не по Unity, попробуйте консольные приложение пописать с множеством классов и тд. Прежде чем задавать глупые(потому что не нужные и не по делу, много времени лишнего так потратите) вопросы по основам языка C#, изучите сначала эти основы, ну серьёзно... Куча вопросов сразу отпадут =)
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 17:40 |
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 17:40 | Сообщение # 7975 |
участник
Сейчас нет на сайте
| Сталекс, я сомневаюсь, что ты знаешь бейсик и паскаль. Вот серьезно. Проблем бы не было. В C# все логично, все понятно и вообще писать на нем - как лежать в объятьях красивой женщины. Уроков полно, выбирай любой, даже в этой теме ссылки приведены, подними глазки. Или возьми исходник и изучай. Короче, делай что-нибудь уже, пока ты только ноешь.
Сообщение отредактировал Egoor - Среда, 20 Июля 2016, 17:42 |
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 17:44 | Сообщение # 7976 |
Renword Studio
Сейчас нет на сайте
| Цитата Egoor ( ) Сталекс, я сомневаюсь, что ты знаешь бейсик и паскаль Поддержу, а если и знаешь то основы основ, то есть первые пару уроков, скажем так, ну или другими словами то, чему в школе учат, а это далеко не программирование, ой как далеко =)
Добавлено (20 июля 2016, 17:44) ---------------------------------------------
Цитата Egoor ( ) В C# все логично, все понятно и вообще писать на нем - как лежать в объятьях красивой женщины. Какое прекрасное сравнение, мне нравится такой подход к C#, ещё бы отнёс это также к Java. Писать на Java и C# - как лежать в объятьях двух красивых женщин. Изящность, Красота, Логичность =)
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 17:45 |
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 17:44 | Сообщение # 7977 |
участник
Сейчас нет на сайте
| И вообще, вот я с GlScene начинал в эти дебри лезть. Раз "знаешь" паскаль, то тебе самое то. Потом уже Unity.
ShortKedr, Java тоже люблю. Приложения под Android писать одно удовольствие. Руки бы еще выпрямить и вообще сказка)
Сообщение отредактировал Egoor - Среда, 20 Июля 2016, 17:49 |
|
| |
ShortKedr | Дата: Среда, 20 Июля 2016, 17:47 | Сообщение # 7978 |
Renword Studio
Сейчас нет на сайте
| Цитата sfabrikan ( ) знает не значит что понимает Если не понимает - значит не знает, всё просто :D Ну собственно, из следующих его слов всё понятно:
Цитата Сталекс ( ) На бейсике каждый имеет свое имя: ComboBox1, ComboBox2... . И там бы я написал так: if ComboBox1.Value=1 then n=....
Сообщение отредактировал ShortKedr - Среда, 20 Июля 2016, 17:49 |
|
| |
Сталекс | Дата: Среда, 20 Июля 2016, 17:50 | Сообщение # 7979 |
был не раз
Сейчас нет на сайте
| Обиделись, все-таки!!! Даже репу мне понизили Ну назовите тогда свой форум "только для профи, новичкам не лазить"
|
|
| |
Egoor | Дата: Среда, 20 Июля 2016, 17:50 | Сообщение # 7980 |
участник
Сейчас нет на сайте
| Цитата sfabrikan ( ) Можно выучить весь язык, но не знать как им пользоватся и как на нем писать. Не соглашусь. Это как выучить все английские слова. Что-то сказать да сможешь - так и научишься говорить свободно.
|
|
| |
|