Перемещение как в Героях

Программирование на Юнити.

Перемещение как в Героях

Сообщение Denkacn 25 дек 2011, 16:54

Добрый день.
Подскажите пожалуйста , как реализовать , перемещение объектов по сетке , например как в Героях в момент битвы. Точнее как реализовать эту самую сетку программно... То есть поле состоящие из многих квадратов.
Shadow Line (Android Game)
Аватара пользователя
Denkacn
UNIт
 
Сообщения: 83
Зарегистрирован: 11 фев 2011, 01:47
Откуда: Украина. Запорожье. Бабурка =)
  • ICQ

Re: Перемещение как в Героях

Сообщение Golandez 25 дек 2011, 17:00

Через массив.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Перемещение как в Героях

Сообщение Denkacn 25 дек 2011, 20:47

А по подробнее можно ... Бо я что то не въеду...(
Shadow Line (Android Game)
Аватара пользователя
Denkacn
UNIт
 
Сообщения: 83
Зарегистрирован: 11 фев 2011, 01:47
Откуда: Украина. Запорожье. Бабурка =)
  • ICQ

Re: Перемещение как в Героях

Сообщение Golandez 26 дек 2011, 00:45

У вас есть например 16 клеток.Каждая клетка имеет координату как бы своего пивота. Вот все эти 16 координат засовываем в массив и с ними работаем.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Перемещение как в Героях

Сообщение Jakobs 26 дек 2011, 00:47

Golandez писал(а):У вас есть например 16 клеток.Каждая клетка имеет координату как бы своего пивота. Вот все эти 16 координат засовываем в массив и с ними работаем.


ну это понятно, а как подходить Математически? хотя бы в какую сторону копать?
Аватара пользователя
Jakobs
UNIт
 
Сообщения: 103
Зарегистрирован: 08 янв 2010, 01:09
Откуда: Киев, Украина
  • Сайт
  • ICQ

Re: Перемещение как в Героях

Сообщение Golandez 26 дек 2011, 01:00

У вас есть вектор направления движения.В зависимости от того, куда он направлен вы и прыгаете в массиве на другую клетку. Я просто не пойму в чем вопрос трудности работы с массивом координат. Сформулируйте точнее.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Перемещение как в Героях

Сообщение Jakobs 26 дек 2011, 02:06

Golandez писал(а):У вас есть вектор направления движения.В зависимости от того, куда он направлен вы и прыгаете в массиве на другую клетку. Я просто не пойму в чем вопрос трудности работы с массивом координат. Сформулируйте точнее.

я понял, я неправильно понял сам вопрос =)
Аватара пользователя
Jakobs
UNIт
 
Сообщения: 103
Зарегистрирован: 08 янв 2010, 01:09
Откуда: Киев, Украина
  • Сайт
  • ICQ

Re: Перемещение как в Героях

Сообщение Denkacn 26 дек 2011, 14:07

Спасибо , более менее разобрался.
И сразу возник другой вопрос , а как тогда просчитать ход , например юнит может продвинуться только на 3 клетки , по диагонали ходить нельзя ...
Shadow Line (Android Game)
Аватара пользователя
Denkacn
UNIт
 
Сообщения: 83
Зарегистрирован: 11 фев 2011, 01:47
Откуда: Украина. Запорожье. Бабурка =)
  • ICQ

Re: Перемещение как в Героях

Сообщение Левш@ 26 дек 2011, 15:48

например юнит может продвинуться только на 3 клетки , по диагонали ходить нельзя ...

Можно мерять дистанцию и угол между обьектом и точкой назначения.
Типа того:
Синтаксис:
Используется javascript
                var targetDistance = Vector3.Distance(mainObject.position, target.position);
                var mainDirection = mainObject.TransformDirection(Vector3.forward);
                var targetDirection = target.position - mainObject.position;
                var targetAngle = Vector3.Angle(targetDirection, mainDirection);
      if (targetAngle <= limitAngle && targetDistance <= limitDistance) {
                //Действия...
      }
 
_X.cor.R (Prologue)
Аватара пользователя
Левш@
Адепт
 
Сообщения: 4073
Зарегистрирован: 14 окт 2009, 16:34
Откуда: IBERIA
Skype: bars_levsha
  • Сайт

Re: Перемещение как в Героях

Сообщение Golandez 26 дек 2011, 16:33

Считать количество ходов- переход на следующую клетку ,в какую то статическую переменную ++. Если изначально нужно ограничить хождение, эмулировать хождение по клеткам, посчитать ходы и если количество ходов не превышает заданного, тогда уже ходить. Изначально считать,что ходить можно по массиву на клетки с номерами n+4(при размере 4Х4), n+1, n-1, где n -номер текущей ячейки массива. Учесть нахождение на крайних клетках массива.
Ты нужен только тогда,когда нужен.(С)
Сказать спасибо
Аватара пользователя
Golandez
Пилигрим
 
Сообщения: 1637
Зарегистрирован: 06 авг 2009, 13:55
Откуда: Харьков
Skype: lestardigital

Re: Перемещение как в Героях

Сообщение Denkacn 26 дек 2011, 18:42

Спасибо всем , буду пробовать )
Shadow Line (Android Game)
Аватара пользователя
Denkacn
UNIт
 
Сообщения: 83
Зарегистрирован: 11 фев 2011, 01:47
Откуда: Украина. Запорожье. Бабурка =)
  • ICQ


Вернуться в Скрипты

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

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