Reputation: 15551
How can I enumerate display objects under a pixel relative to the stage?
Clarification: I want to write a function which get (x,y) as input and returns an array of objects as output.
update: I want to avoid looping over all the display objects, to tell which one is under the specified pixel.
Upvotes: 7
Views: 4921
Reputation: 959
Any DisplayObjectContainer (such as a MovieClip or the stage) has a method called getObjectsUnderPoint that returns an array of display objects under that point. It takes a Point object as an argument.
var myObjects: Array = stage.getObjectsUnderPoint(new Point(5, 5));
If you are using it in a class don't forget to import flash.geom.Point;
Upvotes: 16
Reputation: 10665
The hitTestPoint() method will get you information if a DisplayObject is at the specified point (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint())
To get a list of objects you would have to recursively investigate all children of the stage, I don't think there is a predefined function for that.
Alternatively: What are you trying to achieve? Maybe you can just use events and make them bubble?
Upvotes: 0