Hola,

Soy nuevo en la lista, de la cual he recibido críticas muy positivas.

Estamos trabajando en una aplicación para detectar movimientos con la webcam
para aplicarlo a pequeños juegos/experimentos que nos permitan comprobar el
potencial de flash en este campo.

Hemos tomado como base el artículo escrito por Guy Watson, accesible
mediante la siguiente dirección:
http://www.adobe.com/devnet/flash/articles/webcam_motion.html

Partiendo de su código, lo hemos modificado para elminar el efecto "ghost" y
añadir transparéncia al fondo.

Mi pregunta es la siguiente:

¿como puedo hacerlo para detectar colisiones entre un bitmapdata otro al que
yo pueda mover libremente por la pantalla?

Me explicaré un poco.

Adjunto el archivo en esta direccion:
http://www.magma3interactiva.com/beta/webcam/

El apartado visual esta dividido en 3 secciones.

1) En la primera se muestra la webcam "pelada", sin ninguna modificación.

2) Justo a su derecha aparece una representación de un bitmapdata que,
mediante una modificación "threshold" aisla los píxeles de color blanco y
los convierte a verde.

3) Debajo de la zona de la webcam "pelada" creamos una bitmap llamado
"trans" que aisla los píxeles de color blanco y convierte a los demás en
transparentes.

Mediante esta transparencia podemos detectar colisiones entre dos bitmapdata
para que cuando se mueva la mano por encima de un objeto se pueda detectar
la colisión.

Eso se consigue con una instrucción "hitTest" que hemos puesto dentro del
código del botón "crear", situado en la parte inferior de la pantalla.

El problema viene dado por la generación del própio bitmapdata.

Cuando se presiona el botón lo que hacemos es dibujar el movieclip "drag"
(forma blanca con borde negro) dentro del bitmapdata "dibu2" que a su vez
está contenido dentro de un movieclip generado especialmente para contenerlo
y que lleva el nombre de "contenedor".

Pero, como el bitmapdata se genera a partir de la coordenada (0,0), el
movieclip "drag" se situa pegado al borde superior de la película flash.

Aunque asignando una instrucción "startDrag" al movieclip "contenedor"
podemos moverlo libremente por la pantalla, la información que utilizamos
para detectar las colisiones se queda en el borde superior derecho de la
pantalla.

Como ya he dicho anteriormente, mi pregunta es la siguiente:

¿como puedo hacerlo para detectar colisiones entre el bitmapdata
transparente y otro al que yo pueda mover libremente por la pantalla?


Gracias y perdonad por el tocho.
-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a