如何枚举相对于舞台的像素下的显示对象?
澄清:我想编写一个函数,它将(x,y)作为输入,并返回一个对象数组作为输出。
更新:我想避免在所有显示对象上循环,以确定哪一个在指定的像素下。
答案 0 :(得分:16)
任何DisplayObjectContainer(例如MovieClip或舞台)都有一个名为getObjectsUnderPoint的方法,该方法返回该点下的显示对象数组。它将Point对象作为参数。
var myObjects: Array = stage.getObjectsUnderPoint(new Point(5, 5));
如果您在课堂上使用它,请不要忘记导入flash.geom.Point;
答案 1 :(得分:0)
如果DisplayObject位于指定点(http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint())
,hitTestPoint()方法将获取信息要获得一个对象列表,您必须以递归方式调查该阶段的所有子项,我认为没有预定义的函数。
或者:你想要实现什么目标?也许你可以只使用事件并使它们冒泡?