¿Quieres registrarte?

Prototype para escribir un texto de forma aleatoria en Flash

Por: elchininet
20 de Septiembre del 2008
3517 de clabLevel
Otros artículos de elchininet
4,072 visitas

A petición de un usuario hice este pequeño prototype todavía sujeto a arreglos y optimizaciones. Lo que hace principalmente es llenar un TextField con un texto específico pero con un efecto de aleatoriedad. Para utilizarlo se debe hacer de la manera siguiente:

Código :

//---Prototype de rellenar el texto
TextField.prototype.fillRandomText = function(theText:String, cantidad:Number, veces:Number):Void{
   
   //---Decalaración de variable
   var txt:TextField = this;
   var secFin:Number = 0;
   var rand:String;
   var sum:Number = 0;
   var avance:Number = 0;
   
   //---Funcuión de crear caracteres aleatorios
   var randomChar:Function = function (numero:Number):String{
      
      var sum:Number = 0;
      var rand:Number;
      var randChar:String;
      var chars:String = "";
      
      while(sum < numero){
         
         rand = Math.round(Math.random() * 94 + 33);
         randChar = String.fromCharCode(rand);
         
         chars += randChar;      
         sum++;
         
      }
      
      return chars;
      
   }
   
   //---Función de rellenar
   var fillChars:Function = function():Void{
      
      //---Asignar el texto
      rand = theText.slice(0, secFin) + randomChar(avance - secFin);      
      txt.text = rand;
      
      //---Detener el intervalo
      if(secFin >= theText.length){
            
         clearInterval(intervalo);
            
      }
      
      avance += (avance < theText.length) ? cantidad : 0;
      
      sum++;
      
      if(sum == veces){
         
         sum = 0;
         secFin += cantidad;
         
      }
      
   }
   
   //---Hacer el setInterval
   var intervalo:Number = setInterval(fillChars, 10);   
   
}


Su uso:

Código :

TextField.fillRandomText(frase:String, incremento:Number, veces:Number);


Donde frase es el texto que se va a insertar.
incremento es cada cuantos caracteres se va a ir deteniendo el efecto.
y veces es el número de caracteres aleatorios que se generarán antes de poner el carácter que le corresponde.

Un ejemplo sencillo es este, en un documento nuevo de 30fps, pegar el prototype en el primer frame y crear un TextField con nombre de instancia "campo", al tener hecho esto situar en el frame donde se encuentra el TextField:

Código :

campo.fillRandomText("Prueba de texto aleatorio", 1, 5);


Si alguien puede aportar más a este proto, variarlo u optimizarlo más, será bienvenida su propuesta, el resultado nos servirá a todos. ;)

Enviar a twitter Enviar a facebook


También te interesa


Etiquetas actionscript

Comentarios | Enviar un comentario
Muevo esto a tips (Sí, esto es un tip)
Por: Freddie
Disculpa, como no era muy extenso pensé que no cumplía la categoría de Tip.
Por: elchininet

elchininet :

Disculpa, como no era muy extenso pensé que no cumplía la categoría de Tip.
Inicialmente, un tip se considera aquello de entre una a dos páginas de contenido.
Por: Freddie
jeje eso fue a pedido mio xD debo ser el usuario con mas dudas de todo el foro :)
Por: ironeric23
1084: Syntax error: expecting rightbrace before end of program.
Por: Error queno entiendo-blog
por favor amigo si me puedes ayudar ha realizar un bucle con imagenes
es que no se como se realiza
a sido un gusta saludarte
Por: elprofe
tenes q bañarte por
Por: el olor-blog
Deja un comentario
IMPORTANTE

Recuerda ser respetuoso, no insultes a otras personas, ni uses palabrotas, hay una persona al otro lado de la pantalla.

Habla bien, NO ESCRIBAS EN MAYUSCULA TODO, no escribas como en un SMS, evita cosas como "ke", "x q" y demás abreviaciones.

Aquí funcionan las etiquetas de los foros, puedes usar [b] para negrita, [img] para las imágenes, [url] para los enlaces, etc.

Si tienes preguntas técnicas, envíalas mejor al foro.