dreenline | Дата: Суббота, 06 Мая 2017, 17:58 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Привет! Мне нужно сделать небольшую игру, и я никак не могу разобраться с одним моментом. У меня есть кубик. Я перетаскиваю его на экран, и если в какой-то стороне от него есть другой объект, то куб движется к этому объекту. Суть в том, что кубов много, и каждый может двигаться только в одну сторону. Например, есть куб, который может двигаться к объекту, который стоит сверху от него. Если там нет объекта, то он не движется. А есть куб, который может поочередно двигаться к правому, а потом к левому объекту(если они там есть, конечно). Никак не могу понять, как можно сделать отслеживание объектов только с одной стороны куба. Сначала хотел делать через overlapsphere. Все попавшие объекты добавлял в лист, а затем поочередно двигал кубик к каждому из объектов в листе. Но это не подходит, т.к. куб будет двигаться ко всем объектам вокруг него, а нужно, что бы он двигался только в одну сторону(например, вправо, если, конечно, там есть другой объект). Пробовал добавлять булевые переменные(лево, право, вперед, назад). Т.е. overlap shphere добавляет все объекты вокруг в лист, а затем высчитывает по координатам тех, что стоят слева или справа. Еще пробовал добавлять объекты в лист через OnTriggerEnter(Collider other), но почему-то в лист добавляются все объекты, а не только те, к которым прикасается коллайдер, который висит на кубе. Может есть более простой вариант сделать это и я изобретаю какой-то велосипед? Всю голову уже сломал
|
|
| |
roma3fon | Дата: Суббота, 06 Мая 2017, 18:11 | Сообщение # 2 |
участник
Сейчас нет на сайте
| dreenline, не надо городить огород, просто создай массив объектов с возможными осями их движения и другими параметрами, а потом пробегайся по полученным объектам, и в соответствие с правилами двигай сами кубы.
|
|
| |