AS3 Простой ИИ, найти игрока в поле зрения? - PullRequest
0 голосов
/ 19 мая 2011

Привет, ребята, я смотрел простую флеш-игру, и несколько врагов патрулируют местность.Я сделал каждый из них имеет угол обзора около 35 градусов, а расстояние 150 пикселей.Проблема в том, что они могут видеть сквозь стены.Как мне проверить, была ли стена между взглядом охранника на игрока?

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

Есть идеи?
Спасибо, Макс

Ответы [ 2 ]

0 голосов
/ 20 мая 2011

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

0 голосов
/ 19 мая 2011

Я думаю, что вы не так уж и далеко.

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

Тогда вы можете нарисовать непрозрачныйСпрайт с альфа 0, который отображает дальность обзора вашего противника, а затем проведите тест на столкновение на всех стенах и на всех диапазонах просмотра.Это также позволит вам обнаруживать столкновения между игроком и всеми диапазонами просмотра противника.

После быстрого поиска это может быть то, что вам нужно

Приветствия

...