Результаты поиска
| |
Sanprabhu | Дата: Понедельник, 18 Июля 2016, 11:36 | Сообщение # 21 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Походу я совсем запутался Мои объекты вообще не состоят в parent-child иерархии. Но проблема остается:
Код void Move() { transform.position += new Vector3(0, 0.6f, 0); //перемещается объект other.StartOpponents(); // метод должен сработать для клона другого объекта или для //самого другого объекта (в зависимости от того, с кем объект столкнулся) // если срабатывает для клона, вместе с ним срабатывает и для изначального другого объекта }
|
|
| |
Sanprabhu | Дата: Понедельник, 18 Июля 2016, 01:25 | Сообщение # 22 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата Sanprabhu ( ) Если написать что-то типа otherObject.transform.position..., то вместе с ним перемещаются все клоны (( Прошу прощения, перемещается родитель вместе с клоном. Может есть какая-то проверка, типа если объект с которым столкнулся - родитель, он(родитель) может переместиться, если нет, должен оставаться на месте(значит обращаются к чаилду и он не при делах)?
|
|
| |
Sanprabhu | Дата: Воскресенье, 17 Июля 2016, 17:44 | Сообщение # 23 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Всем привет. Помогите решить задачу, пожалуйста: Есть объект и другой объект и их клоны. В определенной ситуации при соприкосновении один из объектов должен переместиться (это решается рандомно) Т.к. скрипт на первом объекте, с ним проблем нет, а вот как заставить двигаться именно второй объект? Если написать что-то типа otherObject.transform.position..., то вместе с ним перемещаются все клоны ((
|
|
| |
Sanprabhu | Дата: Вторник, 17 Мая 2016, 22:18 | Сообщение # 24 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| zaicev9797, Спасибо, получилось, дело было в дженерике. Не знал, что нужно было подключить using System.Collections.Generic;
Сообщение отредактировал Sanprabhu - Вторник, 17 Мая 2016, 22:18 |
|
| |
Sanprabhu | Дата: Вторник, 17 Мая 2016, 20:11 | Сообщение # 25 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Привет всем. Подскажите, какой коллекцией лучше воспользоваться, для хранения Vector 3? Нужно сделать коллекцию из позиций, в которые нельзя попадать. Пробовал ArrayList, но не пойму как проверять. Все время вываливается NullReferenceException. Спасибо.
|
|
| |
Sanprabhu | Дата: Понедельник, 16 Мая 2016, 14:51 | Сообщение # 26 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Подскажите, можно ли использовать проверку на столкновение, если оба объекта не твердые. Я сделал с помощью OnTriggerEnter, но один из объектов пришлось сделать твердым, а мне это в принципе не нужно. Спасибо.
|
|
| |
Sanprabhu | Дата: Воскресенье, 15 Мая 2016, 20:21 | Сообщение # 27 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| ShortKedr, спасибо, учту. А по этому поводу подскажешь?
Цитата Sanprabhu ( ) Вот я и думаю, как заставить программу сравнивать равенства любых объектов друг с другом, т.е. появился объект с тегом "игрок", через какое-то время на его позиции появился объект-клон "враг", равенство должно сработать.
|
|
| |
Sanprabhu | Дата: Воскресенье, 15 Мая 2016, 19:48 | Сообщение # 28 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата Lertmind ( ) Вообще, числа с плавающей точкой как и векторы нельзя так сравнивать, если только ты не присвоил точно такое же значение У меня объекты (не твердые) создаются рандомно с округлением координат, поэтому они станут в одну и ту же позицию и тогда должна сработать проверка. А загвоздка в следующем: объекты у меня клонируются и даже если их позиции равны, проверка не работает, т.к. сравниваются первые объекты, а не их клоны. Вот я и думаю, как заставить программу сравнивать равенства любых объектов друг с другом, т.е. появился объект с тегом "игрок", через какое-то время на его позиции появился объект-клон "враг", равенство должно сработать. Надеюсь понятно объяснил, буду благодарен за помощь.
|
|
| |
Sanprabhu | Дата: Воскресенье, 15 Мая 2016, 02:14 | Сообщение # 29 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата Lertmind ( ) Полагаю, у него можно было обойтись структурой данных, типа двумерного массива, тогда придётся написать дополнительный код с синхронизацией и т. п для меня это сложновато, оставлю пока как есть.
Цитата beril ( ) Я наверно не до конца понимаю, что автор хочет сделать не обращайте внимания, я новичок в разработке игр, еще многому нужно научиться )) спасибо за помощь ))Добавлено (15 мая 2016, 02:14) --------------------------------------------- Всем привет. Подскажите, пожалуйста, как обращаться к объектам с определенным тегом? Например можно сделать как-то так?: if(объект с тегом "игрок".transform.position == объект с тегом "враг".transform.position) { ... }
|
|
| |
Sanprabhu | Дата: Пятница, 13 Мая 2016, 13:38 | Сообщение # 30 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата manonedge ( ) Зачем вообще по немного проверять высоту? Объект должен стать на свободное место вверху, нужно проверять не занято ли оно, если да, то проверять соседнее и т.д.
Цитата beril ( ) если нужен бесконечный цикл используй Coroutines Я с Coroutines много не работал. А как конкретно этот код можно написать с Coroutines?
|
|
| |
Sanprabhu | Дата: Четверг, 12 Мая 2016, 12:59 | Сообщение # 31 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата Lertmind ( ) Виснуть может, если дочерний объект висит у объекта с этим скриптом Да, так и есть, спасибо, исправил))
|
|
| |
Sanprabhu | Дата: Четверг, 12 Мая 2016, 02:55 | Сообщение # 32 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| 8Observer8, спасибо, все работает )) Добавлено (12 мая 2016, 02:55) --------------------------------------------- Доброго времени суток. Подскажите, почему Unity виснет при использовании цикла while?
Код check = IsEmpty(); while (!check) { transform.position += new Vector3(1.0f, 0, 0); check = IsEmpty(); }
Код bool IsEmpty() { RaycastHit hit;
Vector3 up = transform.TransformDirection(Vector3.up);
return (Physics.Raycast(transform.position, (up), out hit, (float)0.3)) ? false : true; } Причем виснет только если использовать функции в цикле. Если написать простой цикл без функций, будет работать. P.S. Для эксперимента пробовал использовать go to, также виснет.
Сообщение отредактировал Sanprabhu - Четверг, 12 Мая 2016, 00:46 |
|
| |
Sanprabhu | Дата: Среда, 11 Мая 2016, 13:00 | Сообщение # 33 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата 8Observer8 ( ) Это значит, что вы не инициализировали ссылку на объект Это появилось после добавления функции IsValidDir(Vector2 dir). Может я должен что-то инициализировать из этой функции?
Если кликнуть на Exception, указывает на эту строку return (hit.collider.gameObject == gameObject);
Сообщение отредактировал Sanprabhu - Среда, 11 Мая 2016, 13:05 |
|
| |
Sanprabhu | Дата: Среда, 11 Мая 2016, 12:43 | Сообщение # 34 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата 8Observer8 ( ) bool IsValidDir(Vector2 dir) { Vector2 pos = transform.position; RaycastHit2D hit = Physics2D.Linecast(pos + dir, pos); return (hit.collider.gameObject == gameObject); }
Теперь NullReferenceException: Object reference not set to an instance of an object ((
Сообщение отредактировал Sanprabhu - Среда, 11 Мая 2016, 12:44 |
|
| |
Sanprabhu | Дата: Среда, 11 Мая 2016, 09:47 | Сообщение # 35 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Всем привет. Мучился-мучился со своими столкновениями, сеткой. Все решилось округлением Mathf.Round )) при первом появлении все ок. Теперь встал такой вопрос: в определенный момент времени объект должен переместиться вверх по оси y, но если там находится другой объект тут опять та же проблема - объекты толкаются (( Как проверить есть ли кто-то наверху или нет, и если да, я просто смещу его вправо или влево по оси x(опять же если там пусто) и потом подниму. Спасибо.
|
|
| |
Sanprabhu | Дата: Вторник, 10 Мая 2016, 15:19 | Сообщение # 36 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата drjokerface ( ) объект должен исчезать с одной клекти и появляться в другой или плавно переходить? Появляться. Чтобы переходить использовать поиск пути, например Simply A* правильно?
|
|
| |
Sanprabhu | Дата: Вторник, 10 Мая 2016, 15:02 | Сообщение # 37 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Подскажите, как двигать объект внутри Rect Transform? У меня объект находится походу на сетке, а не внутри ее. Можно его как-то поместить внутрь и потом перемещать его там по координатам клеток? Что-то типа transform.position = new Vector3(и здесь координаты конкретной клетки PosX, PosY) Спасибо.
|
|
| |
Sanprabhu | Дата: Понедельник, 09 Мая 2016, 13:11 | Сообщение # 38 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Lertmind, 8Observer8, спасибо, буду изучать. Добавлено (09 мая 2016, 13:11) ---------------------------------------------
Цитата 8Observer8 ( ) ассет A* можно ещё взять из курса: Unity 5 2D - Pathfinding Отличный курс, спасибо. Модифицировал, создал сетку, только теперь не могу заставить свой объект переместиться к координате Rect Transform.
|
|
| |
Sanprabhu | Дата: Воскресенье, 08 Мая 2016, 13:25 | Сообщение # 39 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Цитата zaicev9797 ( ) Rigidbody.IsKinematic пробуйте Пробовал, все-равно толкаются. Создается впечатление, что объект при создании в районе коллайдера другого объекта, просто становится рядом и все ок, но по факту, вероятно, он смещается и получает какое-то ускорение и когда объектов становится много, наступает момент, когда они просто разлетаются, как шары в бильярде.Добавлено (08 мая 2016, 13:25) --------------------------------------------- В общем решил, что для моей игры лучше будет, чтобы объекты двигались по полям(клеткам сетки, или по системе координат). Так они не будут толкаться и для меня это даже удобнее. Отсюда просьба, может кто-то реализовывал похожую логику, киньте ссылочку на материалы, пожалуйста.
|
|
| |
Sanprabhu | Дата: Суббота, 07 Мая 2016, 02:40 | Сообщение # 40 | Тема: Вопрос-[ответ] по Unity |
частый гость
Сейчас нет на сайте
| Доброго времени суток. Подскажите, есть ли способ запретить объектам толкаться? На разных форумах много об этом говорят, но я так и не нашел решения(( В общем мне нужно, чтобы объекты создавались рандомно, но когда они появляются слишком близко друг с другом, то толкают и бывает даже очень сильно (плывут вдаль), можно ли как-то это избежать?
|
|
| |
|