Pregunta

Quiero crear una superficie de dibujo invisible que se asiente sobre la parte superior de una imagen. Esta superficie de dibujo se encargaría de tomar la entrada del mouse y pasar las coordenadas a un sprite que se encuentra en la capa entre la superficie de dibujo y la imagen. La superficie de dibujo es un Sprite vacío.

Según los documentos , un objeto de visualización que no tiene nada dentro no puede tener su ancho o alto establecido. Es decir, siempre será cero.

¿Hay alguna forma de evitar esto? ¿Cuál es la mejor práctica?

¿Fue útil?

Solución

Puede trabajar con la API de dibujo para dibujar formas con valores alfa extremadamente bajos, esto le dará los valores sin ser visibles a simple vista.

BUT

Quizás una mejor solución sería registrar a los oyentes de su mouse en el escenario desde el sprite de la superficie de dibujo y hacer que maneje los eventos del mouse por sí mismo. No sé lo suficiente sobre lo que está tratando de hacer, pero si es posible, sería una solución más limpia / simple.

Incluso si no puede poner a los oyentes en el sprite de la superficie de dibujo, debería poder agregarlos al escenario desde donde esté trabajando, en lugar de usar un objeto adicional.

Otros consejos

Si solo necesita los límites para su dibujo, creo que la solución más fácil sería escuchar los eventos del mouse del escenario y limitar programáticamente su dibujo ... Si todavía cree que necesita ese sprite transparente, puede dibujar un rectángulo transparente (beginFill (0, 0)) o crear un mapa de bits transparente (nuevo BitmapData (ancho, alto, verdadero, 0)). No estoy seguro de cuál sería la "mejor práctica" ....

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top