Habiendo observado que había una gran cantidad de post preguntando cómo llenar un cuadro de texto letra a letra, se me ocurrió crear una función para realizar esa misma tarea.
La función permite crear aplicaciones simples como ésta (el botón escribir escribe el texto que aparece en el campo, además, este campo se vuelve editable cuando la función termina de escribir):
La función que logra esto (Código abajo) tiene 5 parámetros que, en orden son:
texto: El texto a escribir debe ser un String (si, se pueden usar variables y la constante newline)
campo: El campo de texto en el que se va a escribir (es decir, el nombre de instancia)
intervalo: Los milisegundos que pasan entre cada carácter escrito.
primeraLetra: Una variable booleana que indica si la primera letra es escrita en seguida o si debe esperar.
formato:[/b] El formato que se le quiere aplicar al texto en caso de querer hacerlo en forma dinámica.
Explico el cuarto parámetro, si el tiempo entre letra y letra es de 1000 milisegundos y primeraLetra es false, entonces, habrá que esperar 1 segundo antes de que la primera letra aparezca; si es true, aparece al ejecutarse la función.
Si no me explico bien, prueben usar la función y cambiar el valor de primeraLetra con un intervalo elevado (1000 o más milisegundos).
Es muy importante saber que la función define una variable para el campo de texto sobre el que etá escribiendo que es, justamente, escribiendo. Ésta variable debería ser usada para determinar si estamos escribiendo en ese campo de texto en particular ya que la función falla si tratamos de usarla 2 veces en el mismo campo al mismo tiempo.
Ahora, el código de la función:
Código :
escribir = function (texto:String, campo:TextField, intervalo:Number, primeraLetra:Boolean, formato:TextFormat) {
//
// Creamos el Array a partir del texto
campo.arrayLetras = texto.split("");
campo.escribiendo = true;
//
// Creamos la función que pone las letras una por una
nuevaLetra = function () {
if (campo.letra == undefined) {
campo.i = 0;
} else {
campo.i++;
}
if (campo.i == campo.arrayLetras.length) {
clearInterval(campo.nuevoIntervalo);
campo.letra = undefined;
campo.escribiendo = false;
} else {
if (campo.arrayLetras[campo.i] == " ") {
campo.i++;
campo.letra = " "+campo.arrayLetras[campo.i];
} else {
campo.letra = campo.arrayLetras[campo.i];
}
campo.text += campo.letra;
campo.setTextFormat(formato);
}
};
if (primeraLetra) {
nuevaLetra();
}
//
// Creamos el intervalo que llama a la función "nuevaLetra"
campo.nuevoIntervalo = setInterval(nuevaLetra, intervalo);
};
Por ejemplo, con el siguiente código, llamamos a la función para 2 campos de texto, campoTexto1 y campoTexto2:
Código :
var miTexto:String = "Función creada por Hernán Rivas \n hernanrivasacosta@gmail.com";
escribir(miTexto, campoTexto1, 30, false);
var miOtroTexto:String = "El anterior es un ejemplo de multilinea";
escribir(miOtroTexto, campoTexto2, 60, false);
Hola soy nueva en esto parte del código no lo entiendo, por ejemplo: campo.letra es una propiedad de la caja de texto campo pero donde se define que es el text de campo se llama letra?, acaso es una clase que se crea?
Gracias. Por:Lunatrece_blog
muy buen ejemplo, busacre la utilidad Por:jomajudo_blog
Muy bueno!!! Muchas Gracias! Por:Luis_blog
Lunatrece_blog :
campo.letra es una propiedad de la caja de texto campo pero donde se define que es el text de campo se llama letra?, acaso es una clase que se crea?
No, campo.letra es una propiedad que indica cuál es la letra que la función debe escribir en ese momento. Después, en ésta línea:
Código :
campo.text += campo.letra;
se agrega esa letra al campo de texto. Por:HernanRivas
queria hacer eso, entre aca y oh! ahi estaba; has sido esnviado por el Cielo Por:n/n_blog
un tutorial muy útil, pero podrías adjuntar el archivo de ejemplo para entender mejor el tutorial?
gracias Por:cgomez_blog
Estaba probando a ver si tiraba cuando el texto mide más de una línea, creo que vale con:
campoTexto1.autoSize=true;
Aunque hace un pequeño salto al cambiar de línea Por:Comet!_blog
no se a ustedes pero cuando pongo el ejemplo en un flash, se tarda aaaaños en compilar... hay algo en el codigo que hace que mi maquina se tarde en procesarlo. A alguien mas le pasa? Por:Acreonte_blog
cgomez_blog :
un tutorial muy útil, pero podrías adjuntar el archivo de ejemplo para entender mejor el tutorial?
gracias
Éste es el .fla del archivo que posteé como ejemplo. Por:HernanRivas
muy buen tutorial antes tenias que hacerlo manualmente ... Por:Runnerk_blog
muchas gracias por el .fla Por:cgomez_blog
Excelente ejemplo Gracias Por:G Creator_blog
una pregunta ¿Cómo podría hacerse para que leyera un archivo externos y así aplicarle el efecto a dicho archivo, por ejemplo un .txt o .xml? Por:torrealbaruben
En realidad, es lo mismo. A la función le pasas una variable, que es el texto que querés escribir. Esa variable la podés tomar de un txt o de un xml o de un php. Es lo mismo. Por:HernanRivas
no entiendo nada acerca de pascal Por:jennifer_blog
Y yo no toco sé tocar el violín.
Esto no está hecho en Pascal, está hecho en un código que ni siquiera se le parece en la estructura. Por:HernanRivas
Muy Bueno, y gracias por el .fla Por:bicho_O
disculpen me gustaria saber si se lo podria adaptar para un archivo en el cual gargo un xml y presentar los nodos que estan en las etiquetas... gracias Por:Joparoto_blog
Si, no debería haber problema. El tema es que le pases el texto del xml como string a la función y listo. Por:HernanRivas
un buen establecimiento de comentarios Por:mariela _blog
como se entra xra escribir y despues imprimir Por:anonimo_blog
muchisimas gracias llevaba tiempo detras de algo parecido Por:erotuni_blog
Hernan, no había visto el tip hasta ahora y deja que te felicite. Por:One
disculpen hasta horita bi lo importante de que no podia escribir todo con mayuscula disculpen mil disculpas ¡gracias¡ Por:diana y morena atre
La letra A es la primera letra del abecedario Por:Letra A_blog
muchas gracias Por:nano el psicologo informa
Como sería para hacer que lo hiciera por palabras?? Por:terzer
Simple, modificás la función para que el split (en la segunda línea de la función) separe de acuerdo a los espacios en lugar de letra a letra. Por:HernanRivas
para mis amigos esto va con mucho cariño para todos ustedes , les deseo lo mejor del munod y que sean feliz Por:la chica solotaria
bueno la pelicula fue buena y excitosa me gusto mucho por era de bampiro Por:bleis cuatro_blog
una pregunta se puede utilizar el comando If con letras en ves de numeros por ejemplo if(n=E) el n es un codigo que puede ser E o D se puede hacer eso? Por:facundo_blog
soi anna me gusta las muñecas Por:anna_blog
Muy buena función, hace tiempo cree una pero nada comparada con esta felicidades. Por:flashreloco
Esta pagina esta muy bien porque les los comentarios de la gente ademas ,esta muy bien porque aprendes como se debe escribir. FELIZ NAVIDAD A TODOS!!!!!!!!!!!!!!!!!!! Por:gatita_blog
hola amigos esto es algo que estaba buscando esta interesante, con otro que vi era una animación en el cual también se escribía y este se guardaba como notas, es como si dejaras tu firma, pero yo lo necesito para escribir algo asi como comentarios pero en flash, no se si me dejo entender. Por:jc_kiu_blog
si lo podes subir en formato mx 2004 te lo agradeceria, no entiendo porke el codigo no me marcha Por:zaantyago
Hola soy un poco novato en esto pero intento asignarle un formato de forma dinamica
y en la llamada escribir (miTexto, campoTexto, 30, textFormat);
pero no me funciona Por:mustaine
hola que tal Por:paulina rubio-blog
chido es ta muy bien eso, creo que me podra servir la logica para crear un karaoke en flash Por:pako-blog
recuerda ser respetuoso,no insultes a otras perpersonas,ni uses palabrotas,hay una persona al otrolado de la pantalla.
habla bien.NO ESCRIBAS TODO EN MAYUSCULA ,no escribas como en SMS,evita cosas como Por:roy alex aldo-blog
¿Como ago para bajar letras? bueno les dejo mi msn asi el que me pueda contestar me dice donde hay que ir para bajar es: florenciahatchondo@hotmail.com o divina1456@hotmail.com esos don mis msn Por:fepaaaaaa!!!!!!-blog
me encanta la musica!! es lo masssssss Por:la toto!!!!!!!!!!!!!!!!!!
hooooooooolis!!! a todos soy zaira! soy re simpatica...:)aaaaaaaa me encanta la musica obio!!!!!!!!! Por:z@ira!!!24-blog
me gusta este programa siiiiiiiiiiiii Por:lucas -blog
como te lllamas¡ Por:laura bellido seda-blo
las mates son aburridas las odio tanto que
se irian al infierno Por:deku-blog
no salio nada osaa Por:leidy viviana palacio osp
hola me encantan mucho las cartas y avos que te gusta chau los vemos contestame Por:anto -blog
haber osea hello q es eso q bandera yo con esos conejitos yo crei q eras bonitos pero no son horribles muy simples q bandera re gas Por:JENY-LOVE-blog
TACOS MEXICANOS Por:AAAAAAAAAAAAA-blog
espero k n o senojen kiero amigos emos pork ya soyi parte de ellos kiero k me contacten porfaz me siento solo
<º))))><.....,,
bye kisses se cuidan bye Por:chh_90@hotmail.com-blog
hola a todos!!!!!! les kiero mandar un beso a todos los de sansa un beso:D Por:ana laura muller-blog
hablar a cerca de mi pasado y mi presente Por:perla-blog
multitarea porque nos permite trabajar con varias aplicaciones al mismo tienpo,
facil de instalar un dispositivo panel de control,
GRAFICADOR DE WINDOWS
aplicacion nos permite realizar los diferentes dibujos, los cuales puedenser retocados y realizar un montaje de formas simple pero con muy baja calidad de resolucion la cualidad de esta aplicacion es que el usuario para trabajar con los colores que pueda proyectar windows.
ELEMENTOS DE LA VENTANA DE PAINT
1.barra de titulo
2.cuadro de control
3.menu de control
4.barra de menu
5.barra de herramientas
6.cuadro de colores
7.barra de desplazamiento horizontal y vertical.
EL SCANDISK
esta herramienta permite corregir errores fisicos que se encuentran en las unidades de discos.DISCOS FLEXIBLES DISCOS DUROS ETC.
DESFRAGMENTADOR
en cada cierto periodo a las unidades de disco ya sean discos flexibles o disco s duros es recomendable utilizar el desfracmentador,ya que con esta herramienta se lograra que los archivos esten de manera ordenador,permitiendo de esta forma la lectura mas rapida de los archivos.
PASOS PARA FORMATEAR UN DISQUETTE
son los sgtes
1.en las unidades que aparece en la parte izquierda de la ventana del explorador de windows seleccionar la unidad a formatear.
2.una vez seleccionamos la opcion formatear.
2.una vez seleccionado hacemos un clip derecho y en el menu contextual seleccionamos la opcion formatear.
3.presionar el boton iniciar,en caso contrrio si uno desea formato rapido hacer un check en la opcion formato rapido y luego precionar el boton inicial. Por:elena-blog