![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 22.06.11]
Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
|
Мне нужно чтобы юнит атаковал другого юнита только тогда, когда он на разрешенном расстоянии от него. У меня всё построено на клетках, так что нужно исходить из них. Я так понимаю что нужно перебирать соседние клетки у клетки на которой стоит вражеский юнит. Вот допустим мне надо чтобы юнит атаковал только в том случае если расстояние между юнитами равно двум клеткам. Как это реализовать не подскажите?
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
__________________
Отряд Котовскага |
|
|||||
|
у меня обычно клетки имели свои "координты" типа CellX \ CellY далее вычитаешь разницу между текущей и нужной и смотришь превышает ли какое либо из значений 2. далее чтото делаешь.
гейм девом особо не увлекаюсь, но недавно решал похожую задачу именно так. |
|
|||||
|
[+1 22.06.11]
Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
|
Котяра, что за флуд?
nOobCrafter, а клетки может в массив какой-то поместить и сравнивать? |
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
какой же это флуд?
это решение поставленной задачи. в цикле рендеренга (после смещения позиций юнитов)
__________________
Отряд Котовскага |
|
|||||
|
[+1 22.06.11]
Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
|
Вот это уже ближе к решению. А где в коде упоминание о клетках?
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
например
// лучше оперировать квадратами расстояний public function getSquareOfDictance(unit:Unit):int { var di:int = this.i-unit.i; var dj:int = this.j-unit.j; return (di*di+dj*dj) } поэтому лучше всего:
__________________
Отряд Котовскага |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 106
|
В своей пошаговой игре использовал для таких целей специальную функцию, формирующую массив цен хода, по размерности естественно равный массиву с описанием карты. И просто вызывал ее с различными параметрами, например с ограничением по максимальной цене хода (для определения дальности хода юнита) или с игнорированием непроходимых ячеек, для ренж-атаки.
|
|
|||||
|
[+1 22.06.11]
Регистрация: Jun 2010
Адрес: г. Ташкент
Сообщений: 364
|
petyar, можно по-подробней?
Цитата:
|
![]() |
![]() |
Часовой пояс GMT +4, время: 12:55. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| клетки , юниты |
|
|