Пятница, 15 Ноября 2024, 05:15

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Результаты поиска
SanprabhuДата: Понедельник, 18 Июля 2016, 11:36 | Сообщение # 21 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Походу я совсем запутался crazy
Мои объекты вообще не состоят в 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
частый гость
Сейчас нет на сайте
Доброго времени суток. Подскажите, есть ли способ запретить объектам толкаться? На разных форумах много об этом говорят, но я так и не нашел решения((
В общем мне нужно, чтобы объекты создавались рандомно, но когда они появляются слишком близко друг с другом, то толкают и бывает даже очень сильно (плывут вдаль), можно ли как-то это избежать?
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

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