2009-04-14 13 views
7

ステージの相対的な位置にあるピクセルの下に表示オブジェクトを列挙するにはどうすればよいですか?Actionscript 3:ピクセルで表示オブジェクトを取得

明確化: Iは入力として(x、y)をを取得する関数を記述すると、出力としてのオブジェクトの配列を返します。

更新:すべての表示オブジェクトをループして、指定したピクセルの下にどのオブジェクトがあるかを知りたい場合があります。

+0

詳細を追加できますか? –

+0

入力:x、y。出力:オブジェクトの配列 – George

答えて

16

DisplayObjectContainer(MovieClipやステージなど)には、そのポイントの下にある表示オブジェクトの配列を返すgetObjectsUnderPointというメソッドがあります。 Pointオブジェクトを引数としてとります。

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

クラスで使用している場合は、flash.geom.Pointをインポートすることを忘れないでください。

+0

ニース、私はそのことを知らなかった。 –

0

DisplayObjectが私は、あなたが再帰的に、ステージのすべての子供たちを調査しなければならないオブジェクトのリストを取得するには、指定された点(http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint()

ではない場合hitTestPoint()メソッドは、あなたの情報を取得しますそれにはあらかじめ定義された機能があると思う。

また、達成しようとしていることは何ですか?たぶん、イベントを使ってバブルにすることはできますか?

+0

この方法では、表示リストに追加されたすべての表示オブジェクトに対してhitTextPointを呼び出さなければならず、処理が遅くなるため、問題があります。オブジェクトを近くのオブジェクトに反応させたいだけです。 – George

+0

ああ、ブライアンが指摘しているように、実際にはリストを取得する方法があります! –

関連する問題