Actionscript 3: получить экранный объект в пикселе - PullRequest
7 голосов
/ 14 апреля 2009

Как я могу перечислить экранные объекты под пикселем относительно сцены?

Уточнение: Я хочу написать функцию, которая получает (x, y) в качестве входных данных и возвращает массив объектов в качестве выходных.

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

Ответы [ 2 ]

16 голосов
/ 14 апреля 2009

Любой DisplayObjectContainer (например, MovieClip или сцена) имеет метод getObjectsUnderPoint, который возвращает массив экранных объектов под этой точкой. Он принимает объект Point в качестве аргумента.

var myObjects: Array = stage.getObjectsUnderPoint(new Point(5, 5));

Если вы используете его в классе, не забудьте импортировать flash.geom.Point;

0 голосов
/ 14 апреля 2009

Метод hitTestPoint () получит информацию, если объект DisplayObject находится в указанной точке (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint())

).

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

В качестве альтернативы: Чего вы пытаетесь достичь? Может быть, вы можете просто использовать события и сделать их пузыри?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...