asd

27

May

Verificar email

Publicado por: LeoBaraldi

Este prototipo es para la clase string y lo que hace es muy simple recibe una cadena y verifica si es una dirección de mail correcta.

Actionscript:
  1. String.prototype.isEmail = function() {
  2. if (!this) {
  3. return false;
  4. }
  5. var iChars = "*|,\":<>[]{}`';()&$#% ";
  6. for (var i = 0; i
  7. if (iChars.indexOf(this.charAt(i)) != -1) {
  8. return false;
  9. }
  10. }
  11. if (this.indexOf("@") == -1) {
  12. return false;
  13. }
  14. if (this.indexOf(".") == -1) {
  15. return false;
  16. }
  17. return true;
  18. };

Ejemplo de uso

Actionscript:
  1. String.prototype.isEmail = function() {
  2. if (!this) {
  3. return false;
  4. }
  5. var iChars = "*|,\":<>[]{}`';()&$#% ";
  6. for (var i = 0; i
  7. if (iChars.indexOf(this.charAt(i)) != -1) {
  8. return false;
  9. }
  10. }
  11. if (this.indexOf("@") == -1) {
  12. return false;
  13. }
  14. if (this.indexOf(".") == -1) {
  15. return false;
  16. }
  17. return true;
  18. };
  19. //Uso:
  20. comprobar_btn.onRelease = function() {
  21. if (mail_txt.text.isEmail() == false) {
  22. status_txt.text = "el email es invalido";
  23. } else {
  24. status_txt.text = "el email es correcto";
  25. }
  26. };

categorias: Prototipos Coment.: -

27

May

¿Que es un prototipo para flash?

Publicado por: LeoBaraldi

Muchas veces nos encontramos que necesitamos hacer o realizar acciones repetitivas sumadas con alguna propiedad en especial, como por ejemplo algo tan simple como abrir un popup lanzado desde flash. Estas acciones las podemos realizar escribiendo de manera directa en nuestro AS o haciendo una función y a esta misma pasandole un parametro como por ejemplo el de URL.

Los prototipos son acciones relacionadas a algún objeto o elemento. También puede ser una porción de código que con solo incluirla en nuestros proyectos nos dara la posibilidad de controlar muchas acciones. En definitiva son como pequeñas clases diseñadas por nosotros mismo que dependiendo de la complejidad de la misma podremos controlarla y pasarle muchos parametros de una manera fácil y sencilla.

Lo que apunta esta nueva sección es explicarle los mejores prototipos que andan sueltos en la red con ejemplos de cada uno así lo ven funcionando y se animan a sumarlos a sus proyectos.

Lo más importante de un prototipo es que podemos asociarlo con un objeto determinado como un movieclip, string, number, array o lo que sea. Por esta razón siempre a nuestros prototipos los vamos a incluir siempre en el primer frame de nuestra película principal para de esa manera llamarlos desde cualquier parte de nuestra película con solo indicar el nombre de nuestro prototipo.

Un ejemplo seria así:

1- creamos el prototipo

MovieClip.prototype.nombre = function( parametros a recibir ){

lo que deve hacer

}

2- Lo llamamos.

mipelicula_mc.nombre(parametro);

Como pueden ver este prototipo esta asociado al objeto MovieClip por lo tanto cualquier elemento que sea un movieclip podrá acceder a dicho prototipo desde cualquier lado de nuestro swf con solo colocar despues del nombre de instancia de nuestro movieclip el nombre del prototipo.

categorias: Otros , Prototipos Coment.: -

20

Feb

Desordenar un array random en flash 8

Publicado por: LeoBaraldi

Nuestro amigo Maximiles nos hace llegar otra duda con respecto a la galería de imagenes que usa un array para mostrar las fotos, la inquietud de el es que cada vez que ingresen al sitio vea las fotos de manera diferente con respecto a su orden.

Para ellos simplemente vamos a usar un prototipo en este caso para la clase Array que se encargara de recorrer nuestros elementos y desacomodarlos y volver el mismo array con diferente orden entre sus indices.

Escribimos el prototipo, en el primer frame como siempre de nuestra peli principal.

Actionscript:
  1. Array.prototype.random = function() {
  2. var len = this.length;
  3. var temp = new Array();
  4. for (var i = 0; i<len; i++) {
  5. var ran = Math.round(Math.random()*(this.length-1));
  6. temp[i] = this[ran];
  7. this.splice(ran, 1);
  8. }
  9. for (var j = 0; j<len; j++) {
  10. this[j] = temp[j];
  11. }
  12. };

Y simplemente para usarlo seria asi: (despues que creamos o mandamos los datos al array)

Actionscript:
  1. misFotos_array.random();

Así quedaria el codigo de nuestra galeria con este nuevo agregado:

Actionscript:
  1. //Aqui indicamos que use codificasión, por si hay caracteres como ñ, acentos o cosas raras
  2. System.useCodepage = true;
  3. //la carpeta que tiene nuestras fotos, con un nombre medio cambiado por si ya tenemos otra
  4. //carpeta llamada imagenes
  5. var fotos:String = "gal/";
  6. //velocidad del efecto entre fotos
  7. var fade:Number = 35;
  8. //primera foto a cargar
  9. var iniciarFoto:Number = 0;
  10. //tiempo que se va a mostrar
  11. var tiempo:Number = 100;
  12. //contador fade
  13. var controlFade:Number = 0;
  14. //contador de tiempo
  15. var controlTiempo:Number = 0;
  16. //creamos un objeto xml porque en definitiva el php nos devolvera un xml
  17. miXML = new XML();
  18. miXML.ignoreWhite = true;
  19. miXML.onLoad = function(ok) {
  20. if (ok) {
  21. misFotos_array = this.firstChild.childNodes;
  22. misFotos_array.random();
  23. _root.createEmptyMovieClip("contenedor1_mc", 10);
  24. _root.createEmptyMovieClip("contenedor2_mc", 20);
  25. contenedor1_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
  26. iniciarFoto++;
  27. contenedor2_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
  28. contenedor2_mc._alpha = 0;
  29. curr_mc = 1;
  30. onEnterFrame = function () {
  31. if (curr_mc == 1) {
  32. controlTiempo++;
  33. if (controlTiempo>=tiempo) {
  34. curr_mc = 2;
  35. cambio = "IN";
  36. }
  37. }
  38. if (curr_mc == 2) {
  39. if (cambio == "IN") {
  40. contenedor2_mc._alpha += 100/fade;
  41. if (contenedor2_mc._alpha>=100) {
  42. contenedor2_mc._alpha = 100;
  43. cambio = "FIJO";
  44. controlTiempo = 0;
  45. iniciarFoto++;
  46. if (iniciarFoto == misFotos_array.length) {
  47. iniciarFoto = 0;
  48. }
  49. contenedor1_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
  50. }
  51. }
  52. if (cambio == "FIJO") {
  53. controlTiempo++;
  54. if (controlTiempo>=tiempo) {
  55. cambio = "OUT";
  56. }
  57. }
  58. if (cambio == "OUT") {
  59. contenedor2_mc._alpha -= 100/fade;
  60. if (contenedor2_mc._alpha<=0) {
  61. contenedor2_mc._alpha = 0;
  62. curr_mc = 1;
  63. controlTiempo = 0;
  64. iniciarFoto++;
  65. if (iniciarFoto == misFotos_array.length) {
  66. iniciarFoto = 0;
  67. }
  68. contenedor2_mc.loadMovie(fotos+misFotos_array[iniciarFoto].attributes.name);
  69. }
  70. }
  71. }
  72. };
  73. }
  74. };
  75. //la url de nuestro PHP que crea un xml
  76. miXML.load(fotos+'lista.php');
  77. //
  78. Array.prototype.random = function() {
  79. var len = this.length;
  80. var temp = new Array();
  81. for (var i = 0; i
  82. var ran = Math.round(Math.random()*(this.length-1));
  83. temp[i] = this[ran];
  84. this.splice(ran, 1);
  85. }
  86. for (var j = 0; j
  87. this[j] = temp[j];
  88. }
  89. };

Como pueden ver al prototype lo puse al final, no hay problema porque el flash tiene un orden de lectura y siempre lee las funciones y prototipos antes de seguir ejecutando el resto del codigo, pero lo mejor es ponerlo al principio asi les queda mas facil y mas ordenado sobretodas las cosas.

categorias: Prototipos Coment.: 10

17

Oct

Prototipos para todo el mundo!!!!

Publicado por: LeoBaraldi

En PROTOTYPE tenes los mejores prototipos para flash, clasificados por temas y con muy buena documentación de como usarlos.

categorias: Prototipos Coment.: -

Leonardo David Baraldi

Leonardo Baraldi

Nací en Villa Carlos Paz, tengo 33 años y me dedico a desarrollos para la web desde el año 99, preferentemente en las aéreas de ActionScript y CSS. Trabajo para la firma Manifesto Solutions como jefe de producción.

ultimos post

Usa Firefox es mejor che!!!
Copyright © 2008 LeoBaraldi. Todos los derechos reservados.
Designed by LeoBaraldi and powered by Wordpress | RSS Feed
Love WordPress
Manifesto
Manifesto solutions
Sponsort Oficial de LeoBaraldi