2009-04-14 50 views
7

如何枚舉像素相對於舞臺的顯示對象?Actionscript 3:獲取像素的顯示對象

澄清:我希望編寫得到(X,Y)作爲輸入的功能,並返回一個數組對象作爲輸出。

更新:我想避免循環所有的顯示對象,告訴哪一個是在指定的像素下。

+0

請問您可以添加更多的細節嗎? – 2009-04-14 14:07:38

+0

輸入:x,y。輸出:對象數組 – George 2009-04-14 14:09:18

回答

16

任何DisplayObjectContainer(例如MovieClip或舞臺)都有一個名爲getObjectsUnderPoint的方法,該方法返回該點下的顯示對象數組。它將Point對象作爲參數。

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

如果您在課堂上使用它,請不要忘記導入flash.geom.Point;

0

的hitTestPoint()方法會得到你的信息DisplayObject是否在指定點(http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint()

爲了讓你將不得不遞歸調查階段的所有子對象的列表,我不認爲有一個預定義的功能。

或者:你想達到什麼目的?也許你可以使用事件並讓它們冒泡?

+0

這是有問題的,因爲這樣我就不得不調用hitTextPoint將所有顯示對象添加到顯示列表中,並且這會減慢速度。我只想讓物體對附近的物體做出反應。 – George 2009-04-14 14:38:11