Aquí os dejo este típico efecto de máquina de escribir (typewriter effect) escrito en actionscript 2.o. La clase está suficiéntemente documentada como para poder utilizarla sin problemas. De todos modos, si tenéis algun problema, escribidme a alex_en_electroduendes.com

Que la disfrutéis! 😉

Éste es un ejemplo de su uso:
[as]
// suponemos que tenemos un texfield cuya instancia se llama texto
import com.electroduendes.efectos.text.ConstruirPorLetras;
//ConstruirPorLetras(TextFieldInstancia,
// velocidad,
// numLetrasPorInsercion );
var efecto:ConstruirPorLetras = new ConstruirPorLetras(texto, 50, 4);
efecto.construir();
//Para deconstruir:
//efecto.deconstruir(100, 3);[/as]

[as]
/**
* @revision Alejandro Sánchez electroduendes_en_gmail.com
*
* @since 26/09/2005
*/
import mx.utils.Delegate;
class com.electroduendes.efectos.text.ConstruirPorLetras {

private var ID:Number;

private var campo:TextField;

private var texto:String;

private var velocidad : Number;

private var tamagno : Number;

private var i:Number;

/**
* @usage Genera un estupendo efecto de aparición por palabras para textfields
*
* // suponemos que tenemos un texfield cuya instancia se llama texto
* import com.electroduendes.efectos.text.ConstruirPorLetras;
* var efecto:ConstruirPorLetras = new ConstruirPorLetras(test, 50, 4);
* efecto.construir();
* //Para deconstruir:
* //efecto.deconstruir(100, 3);
*
* @param velocidad : en caso de que no se enchufe, se incluirá el
* de por defecto, (100)
* @param tamagno el tamaño del decremento. ej: si le pasamos 2, irá deshaciendo el
* string de dos en dos.
*/
function ConstruirPorLetras(miTextField:TextField, velocidad:Number, tamagno:Number){
if(tamagno==undefined) tamagno = 1;
if(velocidad==undefined) velocidad = 10;
this.campo = miTextField;
this.velocidad = velocidad;
this.tamagno = tamagno;
i = 0;
texto= campo.text;
}

/**
* Método que arranca la animación de aparición. El efecto no se
* empieza a ejecutar hasta que este método es invocado.
*/
function construir() : Void {
campo.text = “”;
clearInterval(ID);
ID = setInterval(Delegate.create(this,this._construir),velocidad);
}

/**
* @usage deconstruye el texto que hay en el textfield con un efecto
* de mecanografía.
*
* import com.electroduendes.efectos.text.ConstruirPorLetras;
* var efecto:ConstruirPorLetras = new ConstruirPorLetras(test, 50, 4);
* efecto.deconstruir();
*
* @param velocidad opcional: en caso de que no se enchufe, se incluirá el
* que se haya pasado al constructor, o el de por defecto, (100)
* @param tamagno el tamaño del decremento. ej: si le pasamos 2, irá deshaciendo el
* string de dos en dos.
*/
function deconstruir(velocidad:Number, tamagno:Number):Void{
if(tamagno!=undefined) this.tamagno = tamagno;
if(velocidad!=undefined) this.velocidad = velocidad;
i = 0;
clearInterval(ID);
this.campo.text = texto;
ID = setInterval(Delegate.create(this,_deconstruir),this.velocidad);
}

private function _construir():Void{
var aux:Number = campo.length+tamagno;
campo.text = texto.substr(0,aux);
updateAfterEvent();
if (campo.length >= texto.length)
clearInterval(ID);
}

private function _deconstruir():Void{
var aux:Number = (i+=this.tamagno);
trace(this.tamagno);
campo.text = texto.substr(aux);
updateAfterEvent();
if(!campo.length) clearInterval(ID);
}

public static function main() : Void {
// para gente de FDT, mtasc y compañía 🙂
var texto:TextField = _root.createTextField(“mitexto”, 1, 100, 100, 100, 20);
var efecto:ConstruirPorLetras = new ConstruirPorLetras(texto, 50, 4);
efecto.construir();
}
}[/as]

Alejandro Sánchez
IT/Digital Manager
Dirección de proyectos digitales:
❇︎ Definición y supervisión del ciclo de elaboración de proyectos, aplicando metodologías de desarrollo ágiles en entornos de marketing digital.
❇︎ Selección, evaluación y seguimiento de los proveedores de alojamiento, desarrollo y equipos técnicos de trabajo.
❇︎ Implantación y mantenimiento de las herramientas de gestión de equipos de producción.
❇︎ Definición de entornos y arquitectura, protocolos de actualización y uso.
❇︎ Herramientas y procesos de gestión de despliegues, implantación y supervisión de los mismos.
❇︎ Elaboración y seguimiento de los planes de pruebas y aceptación acordados en el plan de proyecto.
❇︎ Gestión del plan de calidad del código así como la especificación y seguimiento.
❇︎ Elección e implantación de herramientas de monitorización
❇︎ Consecución y supervisión de pruebas de rendimiento y seguridad.
❇︎ Asegurar las buenas prácticas en los equipos de trabajo.

Aptitudes:
❇︎ Profundo conocimiento de las tecnologías emergentes y tendencias del mercado digital, así como de los estándares de la industria.
❇︎ Soporte técnico al equipo de marketing y estrategia, actuando como bisagra entre departamentos.
❇︎ Capacidad para desempeñar tareas organizativas y de gestión: rigor, negociación, analítica, empatía, sentido del humor, sentido común.
❇︎ Gestión de e cosistemas digitales complejos para grandes marcas.
❇︎ Diseño de producto, gestores de identidad, marketing relacional y de precisión,
❇︎ UGC, pin­codes, encuestas, herramientas de fidelización.
❇︎ Sistemas de gestión de contenidos, integración con orígenes de contenidos.
❇︎ BI, dashboards, análisis, segmentación y activación.
❇︎ Campañas SEO, SEM, email marketing, promociones.
❇︎ SM: Gestión técnica de contenido en RRSS, monitorización y seguimiento ORM.
❇︎ Altas competencias y aptitudes para el soporte al equipo de UX y cliente para el prototipado

2 thoughts on “efecto maquina de escribir actionscript 2.0

  • Pingback:electroduendes.com » typewriter effect

  • 22/07/2009 at 3:07 am
    Permalink

    Ok amigo no entiendo… Hasta donde corresponde el codigo para el AS externo? Que nombre debemos ponerle? Cual es el AS interno? Disculpe si mis preguntas son molestas lo que pasa es que no entiendo mucho de AS.

Leave a Reply

Your email address will not be published. Required fields are marked *