Actionscript 3:获取像素的显示对象

时间:2009-04-14 14:04:17

标签: flash actionscript-3

如何枚举相对于舞台的像素下的显示对象?

澄清:我想编写一个函数,它将(x,y)作为输入,并返回一个对象数组作为输出。

更新:我想避免在所有显示对象上循环,以确定哪一个在指定的像素下。

2 个答案:

答案 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()方法将获取信息

要获得一个对象列表,您必须以递归方式调查该阶段的所有子项,我认为没有预定义的函数。

或者:你想要实现什么目标?也许你可以只使用事件并使它们冒泡?