【发布时间】:2009-04-14 14:04:17
【问题描述】:
如何枚举相对于舞台的像素下的显示对象?
说明:我想编写一个函数,它以 (x,y) 作为输入并返回一个 对象数组 作为输出。
更新:我想避免循环遍历所有显示对象,以判断哪一个在指定像素之下。
【问题讨论】:
-
你能补充一些细节吗?
-
输入:x,y。输出:对象数组
标签: flash actionscript-3
如何枚举相对于舞台的像素下的显示对象?
说明:我想编写一个函数,它以 (x,y) 作为输入并返回一个 对象数组 作为输出。
更新:我想避免循环遍历所有显示对象,以判断哪一个在指定像素之下。
【问题讨论】:
标签: flash actionscript-3
任何 DisplayObjectContainer(例如 MovieClip 或舞台)都有一个名为 getObjectsUnderPoint 的方法,该方法返回该点下的显示对象数组。它接受一个 Point 对象作为参数。
var myObjects: Array = stage.getObjectsUnderPoint(new Point(5, 5));
如果你在课堂上使用它,别忘了导入 flash.geom.Point;
【讨论】:
如果 DisplayObject 位于指定点 (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint()),hitTestPoint() 方法将为您获取信息
要获得对象列表,您必须递归地调查舞台的所有子级,我认为没有预定义的函数。
或者:你想要达到什么目标?也许您可以只使用事件并让它们冒泡?
【讨论】: