2009-04-14 17 views
7

¿Cómo puedo enumerar los objetos de visualización en un píxel en relación con el escenario?Actionscript 3: obtener objeto de visualización en el píxel

Aclaración: Quiero escribir una función que llegar (x, y) como entrada y devuelve una matriz de objetos como salida.

actualización: Quiero evitar el bucle sobre todos los objetos de visualización, para decir cuál está debajo del píxel especificado.

+0

¿Puede agregar más detalles, por favor? –

+0

Entrada: x, y. Salida: matriz de objetos – George

Respuesta

16

Cualquier DisplayObjectContainer (como un MovieClip o el escenario) tiene un método llamado getObjectsUnderPoint que devuelve una matriz de objetos de visualización en ese punto. Toma un objeto Point como argumento.

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

Si lo está utilizando en una clase, no olvide importar flash.geom.Point;

+0

Bien, yo no sabía eso. –

0

El método hitTestPoint() le conseguirá información si un DisplayObject está en el punto (http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObject.html#hitTestPoint())

especificado Para obtener una lista de objetos que tendría que investigar de forma recursiva todos los niños de la etapa, no lo creo creo que hay una función predefinida para eso.

Alternativamente: ¿Qué estás tratando de lograr? ¿Tal vez solo puedes usar eventos y hacerlos burbujear?

+0

Esto es problemático, porque de esta manera tendría que llamar a hitTextPoint a todo el objeto de visualización agregado a la lista de visualización, y ralentizaría las cosas. Solo quiero que los objetos reaccionen a los objetos cercanos. – George

+0

¡Ah, como señala Bryan, realmente hay un método para obtener una lista! –

Cuestiones relacionadas