Проблема обороны башни - PullRequest
       13

Проблема обороны башни

0 голосов
/ 22 апреля 2011

Я создаю игру защиты башни и хочу создать башню, которая стреляет в пулю, и каждый враг, которого она поражает, поврежден. Пуля может повредить несколько единиц. Моя проблема в том, чтобы определить, попала ли пуля во врагов.

Прямо сейчас у меня есть враги в массиве. С другими башнями, когда враг находится в радиусе действия, башня стреляет, и когда она поражает свою первоначальную цель, она наносит урон этой цели.

Для башни, которую я хочу сделать, она будет каждый раз стрелять в максимальную дальность, и мне нужно, чтобы она наносила урон каждой единице, попавшей в цель на пути к этому конечному пункту назначения.

У кого-нибудь есть идеи, как лучше всего это сделать? Я долго обдумывал это и ничего полезного не придумал.

Ответы [ 4 ]

0 голосов
/ 23 апреля 2011

Используйте метод hittestpoint.

if(enemy.hitTestPoint(bullet.x,buttet.y) {
  dosomething()
}

для массива:

for (var i:int = 0;i<enemyArray.lenght;i++) 
if(enemyArray[i].hitTestPoint(bullet.x,buttet.y) {
  dosomething()
}
0 голосов
/ 22 апреля 2011

Лучший способ сделать это - создать объект маркера на событии пожара. Есть несколько вещей, которые пуля должна отслеживать.

  • скорость
  • пройденное расстояние
  • враг ударил

Перемещение пули по ее скорости в каждом кадре. Проверьте, больше ли расстояние, чем максимальная дальность действия башни. Если это так, уничтожь его. Создавайте событие столкновения с врагами, только если враг еще не поражен.

0 голосов
/ 23 апреля 2011

Этот вопрос очень расплывчатый.

В общем, вы хотите:

создать пулю

каждый кадр обновляет свое местоположение

проверьте, достигло ли оно максимального расстояния от башни, если это так, убейте пулю

проверить, попала ли пуля враг в вашем массиве

если враг поражен, вызвать взрыв или какой-либо визуальный сигнал и / или звуковой эффект, нанести урон и т. Д.

- разрешить ему ударить врага только один раз - вы можете сделать это, отслеживая его в пуле. - то есть иметь множество врагов, которых он ударил.

Вы понимаете, как кодировать каждый из этих предметов?

0 голосов
/ 22 апреля 2011

Определяет ли задача, куда направить турель, или как определить, поражены ли цели на линии?

Например, простой способ создания линии может быть следующим: турель нацеливается на первого противника в радиусе действия, нарисует линию, проходящую от турели через этого противника на длину дальности башни. В этом случае проблема сводится к тому, чтобы определить, находятся ли текущие враги в пределах допустимого диапазона линии.

Если вместо этого ваша проблема заключается в том, как нарисовать линию, возможно, вы могли бы уточнить, какая часть проблемы является конкретной.

...