Обнаружение объектов в радиусе
Мне нужно провести точечную проверку объектов вокруг него на основе расстояния, и невозможно определить, что будет на сцене в любой момент времени, поэтому я не могу просто отследить все, что будет рядом с ней.
Как бы я сделал это, чтобы он мог также обнаружить, что находится рядом с объектом, в дополнение к обнаружению объекта?
2 ответа
Используйте пифагорейский, как в этом примере:
http://www.flepstudio.org/forum/tutorials/501-pythagorean-theorem-actionscript-3-0-a.html
Я не уверен, сколько объектов вы будете иметь на экране в одно и то же время, но как насчет циклического прохождения всех детей в мувиклипе / сцене и проверки каждого из них. Что-то вроде-
function prox(limit:int):MovieClip{
for(var i:int = 0; i<stage.numChildren;i++)
if(Math.abs(MovieClip(stage.getChildAt(i)).x - point.x) < limit &&
Math.abs(MovieClip(stage.getChildAt(i)).y - point.y) < limit){
return MovieClip(stage.getChildAt(i));
}
}
}
Или вы можете расширить это до возврата массива MovieClips, просто изменив тип возвращаемого значения.
function prox(limit:int):Array{
добавление массива var и изменение кода внутри if в
array.push(MovieClip(stage.getChildAt(i));
а также
return array;