300 – Un sistema de sorteo en AS3
Comparto la experiencia que me toco al realizar una pequeña aplicación que sortea números ganadores.
La consigna: mostrar números aleatorios (300) que no se repitan en ninguna caso y que los muestres con un efecto de suspenso parecido a los números de los paneles de los aeropuertos.
La dificultad: El panel tenia que tener 7 dígitos en el cual giraban los números consecutivamente del 1 al 10 al mismo tiempo, esto provocaba un gran consumo de procesador lo cual lo hacia inutilizable en una computadora con bajo recursos.
Mas dificultad: La computadora donde tenia que correr era una Notebook con un procesador de 1.7 Ghz y memoria de 512 Mb.
Intentos: Mi primera prueba para efectuar el "Flip" de los números fue de utilizar el eje Z introducido en el nuevo Player del flash. Este método resulto tedioso para posicionar correctamente los números en la pantalla a lo cual decidí usar Papervision3D. Esa tecnología me resulto efectiva para mostrar en pantalla los números pero fue fatal para el procesador de computadoras de bajo recursos.
La solución: engañar el ojo humano simulando el 3D con un efecto “Blur” en cada numero cuando van bajando (es un viejo truco pero sigue siendo efectivo). Esto me permitio girar los numero a alta velocidad y a agregarle sonido para cada numero.
