May 06

Llegaron los finales y tengo muchas ganas de sacar buenos proyectos, vamos a ver que pasa.

Sitio para promocionar una "empresa" con un hobby personal, el tema es bolsa de jugadores, es decir los jugadores callejeros o competitivos que les cuesta encontrar un buen equipo para jugar o los equipos que necesitan jugadores pero no los encuentran acuden al sitio y ven toda la información de los jugadores disponible.

Idea que tenia desde hace años y que implemente en el colegio en el siguiente link.

http://www.geocities.com/xaca000/

Vamos a ver que tal queda la versión 2.0.

This movie requires Flash Player 8

Próxima semana, actualización de secciones y más personajes.

Escrito por @lasmovies \\ tags: , , , ,

Oct 07

Hace pocos meses salio al aire el nuevo sitio de freskids, esta totalmente diseñado en flash, maneja secciones que requieren login y que se pueden administrar por un gestor de contenido. También empieza con el desarrollo de 2 juegos en flash bastante agradables graficamente y funcionales para el publico objetivo, niños de 2 a 5 años. Acá muestro el cambio de look del home por temporada de halloween.

Escrito por @lasmovies \\ tags: , , , ,

Jun 13

Para guardar o enviar datos a un script utilizaremos el siguiente procedimiento.

1. Necesitamos el script que va a procesar los datos y nos va a retornar una respuesta de exito o error apenas procese los datos.
Por lo general se emplean archivos como registro.php.

2. Lista de parametros que se le envian al script.

3. Para este ejemplo, se van a enviar los datos utilizando como método de envío POST. Los datos viajan al servidor transparente al usuario.

4.Vamos a realizar una validación previa al envío.

5. Utilizaremos javascript para mostrar mensajes de error y confirmación.

6. Como adición, se incluye un método para tabular los campos correctamente, para resaltar el campo actual y para limpiar los campos apenas se realiza un envío exitoso.

Desarrollo

1. suponemos que el swcript que va a procesar los datos se llama: registro.php.
2. La lista de parámetros que recibe es:

nombre, cedula, telefono, direccion, ciudad, email, respuesta

Código para la validación previa al envío:

Se puede descargar el archivo de validación acá

Actionscript:
  1. //importamos una librería para realizar validadciones a campos input
  2. #include "as/form_validators.as"
  3.  
  4. function enviar() {
  5.     //nombre, mensaje, obligatorio, email, numero
  6.     ans1 = t1.validateInput("nombre","", true, false, false);
  7.     ans2 = t2.validateInput("cedula","", true, false, true);
  8.     ans3 = t3.validateInput("telefono","", true, false, true);
  9.     ans4 = t4.validateInput("direccion","", true, false, false);
  10.     ans5 = t5.validateInput("ciudad","", true, false, false);
  11.     ans6 = t6.validateInput("email","", true, true, false);
  12.     ans7 = t7.validateInput("respuesta","", true, false, false);
  13.    
  14.     trace("enviar");   
  15.     be.enabled = false;
  16.     if(ans1 && ans2 && ans3 && ans4 && ans5 && ans6 && ans7)
  17.     {      
  18.         okSend();
  19.     }
  20.     else{               
  21.        
  22.         msg = "Verifica los siguientes datos: \n";
  23.        
  24.         if(!ans1)
  25.             msg += "Nombre\n";
  26.         if(!ans2)
  27.             msg += "Cedula\n";
  28.         if(!ans3)
  29.             msg += "Teléfono\n";
  30.         if(!ans4)
  31.             msg += "Dirección\n";
  32.         if(!ans5)
  33.             msg += "Ciudad\n";
  34.         if(!ans6)
  35.             msg += "Email\n";
  36.         if(!ans7)
  37.             msg += "Respuesta\n";
  38.            
  39.         ExternalInterface.call("msgBox",msg);
  40.         be.enabled = true;
  41.     }
  42. }

t1, t2,.., t7 son los nombres de los campos input de texto.

Aplicamos la función: "validateInput" a cada campo, pasandole los siguientes parámetros que nos permite controlar la validación de cada campo en específico:

nombre: Nombre del campo
mensaje: No es necesario, se utilizaría para una validación adicional, con mensajes.
obligatorio: true o false, si el campo es obligatorio.
email: true o false, si el campo contiene un correo.
numero: true o false, si el campo contiene solamente numeros.

Creamos un botón para enviar el formulario, este tendra el siguiente código:

Actionscript:
  1. on(release)
  2. {
  3.     enviar();
  4. }

Apenas se pulsa el botón se deshabilita, para evitar envíos masivos del mismo formulario. (Cuando la respuesta del servidor no es muy rápida)

Si la validación no tiene problemas, entonces ejecutamos el envio.

llamando a la siguiente función:

Actionscript:
  1. function okSend()
  2. {
  3.     //Minimo un correo porque hay que referir
  4.         sal_registro = new LoadVars();
  5.         int_respuesta = new LoadVars();
  6.         int_respuesta.onLoad = function(success:Boolean) {
  7.             if (success)
  8.             {
  9.                 // error=true todo bien, respuesta del script.
  10.                 if(this.error.charAt(0)=='f')
  11.                 {
  12.                                         msg = "Mensaje de exito";
  13.                     ExternalInterface.call("msgBox",msg);
  14.                     clearFields(); //Limpiamos los campos, apenas hay un envío exitoso
  15.                    
  16.                 }
  17.                 else
  18.                 {
  19.                     msg = "Mensaje de error del script";
  20.                     ExternalInterface.call("msgBox",msg);
  21.                 }
  22.             }
  23.             else
  24.             {
  25.                              msg = "Mensaje de error de conexión con el servidor u otros problemas.";
  26.                  ExternalInterface.call("msgBox",msg);
  27.                
  28.             }
  29.                        be.enabled = true;//Habilitamos el botón para un nuevo envío.
  30.         };
  31.  
  32.         url = "registro.php";
  33.         sal_registro.nombre = t1.text; //Adjuntamos los valores de los campos.
  34.         sal_registro.cedula = t2.text;
  35.         sal_registro.telefono = t3.text;
  36.         sal_registro.direccion = t4.text;
  37.         sal_registro.ciudad = t5.text;
  38.         sal_registro.email = t6.text;
  39.         sal_registro.respuesta = t7.text;
  40.         sal_registro.rand = Math.random(); //Para evitar que la cache nos envíe datos viejos
  41.         sal_registro.sendAndLoad(url,int_respuesta,"POST"); //Se hace el envío por post.
  42. }

Para limpiar los campos llamamos a esta función:

Actionscript:
  1. function clearFields()
  2. {
  3.     for(var i=0;i<8;i++)
  4.     {
  5.         txt = this["t"+i];
  6.         txt.text = "";
  7.     }
  8. }

Para mostrar los mensajes en javascript, es necesario que la página que contiene la película swf, tenga el siguiente script:

JavaScript:
  1. <script language="javascript">
  2. function msgBox(msg)
  3. {
  4.     alert(msg);
  5. }
  6.  
  7. </script>

Nota, para hacer pruebas locales, es necesario autorizar al archivo swf para que acceda a contenido de internet. Esto se hace por el administrador. O sino subimos los archivos a un servidor para probar.

Esto es lo básico para un envío, a continuación un gallito para cuadrar la navegación utilizando el tab.

Actionscript:
  1. tabscontrol = 0;
  2.  
  3. for(var i=0;i<8;i++)
  4. {
  5.     txt = this["t"+i];
  6.     txt.tabIndex = tabscontrol;
  7.     tabscontrol++;
  8.    
  9.     txt.onSetFocus = function(){this.border = true;}
  10.     txt.onKillFocus = function(){this.border = false;}
  11.    
  12. }

Nota: Es importante llamar a los campos por nombres genéricos como t1, t2, t3... para poder utilizar las funciones correctamente.

Si tienes alguna duda, posteala para que las demás personas puedan conocer las respuestas a las preguntas frecuentes.

Espero que les sea de mucha ayuda.

Escrito por @lasmovies \\ tags: , , , , , ,

Mar 04

Esta es la primera versión de un efecto de hojas cayendo, lo único que hay que hacer es crear un mc (Movieclip) de una hoja y ponerle como nombre de vinculación "hoja" en la bilioteca de flash.

Para usarlo poner el script en una línea de acciones en la escena principal, así:

Actionscript:
  1. for(var i=0;i&lt;20;i++)
  2. {
  3. _root.attachMovie("hoja","hoja"+i,_root.getNextHighestDepth());
  4. mc = _root["hoja"+i];
  5. mc._y = 10;
  6. mc._x = random(Stage.width*.7);
  7. mc.onEnterFrame = function()
  8. {
  9. if(this._y&lt;Stage.height*.8)
  10. {
  11. this._y++;
  12. }
  13. else
  14. {
  15. this._y = 0;
  16. }
  17. }
  18. }

Para aclarar algunas dudas acá pongo algunos detalles que hay que tener en cuenta para utilizar el script, además realicé una modificación en la velocidad con la que cae cada partilcula para que se vea más real el efecto.

Lo primero que hay que tener en cuenta es crear un movieclip, en el momento de creación se debe poner un nombre de vículación como lo indica la siguiente imagen.

 

Luego ponemos el script en un frame de la línea de tiempo de la película, como indica la imagen:

Script:

Actionscript:
  1. for(var i=0;i<20;i++)
  2. {
  3.     _root.attachMovie("hoja","hoja"+i,_root.getNextHighestDepth());
  4.     mc = _root["hoja"+i];
  5.     mc._y = -10;
  6.     mc._x = random(Stage.width);
  7.     mc.speed = random(10)+1;
  8.     mc.onEnterFrame = function()
  9.     {
  10.         if(this._y<Stage.height*.9)
  11.         {
  12.             this._y+= this.speed;
  13.         }
  14.         else
  15.         {
  16.             this._y = 0;
  17.             this.speed = random(10)+1;
  18.         }
  19.     }
  20. }

y por último acá les dejo el ejemplo funcionando

This movie requires Flash Player 8

Escrito por @lasmovies \\ tags: , , , ,