2012-09-12 77 views
5

Tengo un problema con un juego en Flash y no sé si lo que quiero hacer es posible o no.Juego de dibujo Flash AS3

Estoy tratando de hacer un juego para niños en Flash, usando AS3, donde el niño debe dibujar una forma similar a la que está actualmente en el escenario. Por ejemplo, hay una letra "a" y el niño debe dibujar algo similar.

Mi pregunta es si hay una manera de comprobar si la forma dibujada por el niño es similar a la forma en el escenario y cómo puedo lograrlo.

+1

Consulte la primera teoría de reconocimiento de patrones en http://en.wikipedia.org/wiki/Pattern_recognition – Lunik

Respuesta

0

Sí, es posible.

Es probable que desee rastrear las coordenadas x, y del mouse (si se utiliza el mouse para dibujar), luego traduzca los valores a la forma con la que se está haciendo coincidir.

Luego tenga algún tipo de comprobación de errores. Por ejemplo, compare el tamaño del área de la forma dibujada por el jugador con la forma dada y otras cosas.

Otro podría ser ángulos entre las líneas dibujadas y el promedio de ellas. Cuantas líneas se dibujaron, etc. sería lindo, creo.

Puede lograr esto simplemente marcando los colores de los píxeles y definiendo dónde había un dibujo y dónde no (es decir, fondo blanco).

Espero que esto ayude.

2

Tomaría las dos imágenes y las reduciría a una resolución mucho más baja ... como una cuadrícula de 16 x 16, más o menos. Marque cada punto en la cuadrícula como encendido o apagado (dibujado o no dibujado).

Luego superpúpese unos a otros, y vea cuántos de los puntos se establecen en uno y no en otro. Si eso supera el umbral, márquelo como no coincidente.

Puede mejorar el algoritmo escalando la imagen dibujada. Busca los píxeles más altos y los más bajos dibujados en ambos, y escala la imagen dibujada para que coincida con la primera imagen. Usted podría hacer lo mismo con el ancho. De esta forma, un jugador no sería penalizado por dibujar una buena, pero más pequeña, versión de la imagen.

Otra mejora sería realizar comparaciones múltiples, desplazar la imagen dibujada de izquierda a derecha, arriba y abajo, tomando la "mejor" coincidencia. De esa forma no serás penalizado por sacar algo compensado del centro.

Todo es un poco hacky, pero creo que es probablemente más útil seguir esta ruta que intentar incorporar la lógica para analizar trazos y otros algoritmos basados ​​en OCR o gestos.

Cuestiones relacionadas