Este es un sistema muy sencillo para redibujar un trazado de manera que parezca que se está dibujando al tiempo que se escribe. Cómo una animación de un lápiz escribiendo una curva en el papel. Este sería el efecto:
El primer paso será crear el trazado completo que queremos dibujar:

Luego utilizaremos este trazado como guía para un MovieClip, utilizando como punto inicial y final de la interpolación el punto inicial y final del trazado:

Ahora mediante código haremos que este MovieClip mientras se desplaza por la guía vaya redibujando el trazado. Para eso crearemos una clase:
Código :
class redibujaGuia
{
}En el constructor de la clase pasaremos como parámetros la ruta de la instancia de clase y el MovieClip que utilizaremos
Código :
public function redibujaGuia(qRuta:MovieClip, qGlider:MovieClip)
{
ruta = qRuta;
glider = qGlider;
//glider._visible = false;
var num:Number = ruta.getNextHighestDepth();
linea = ruta.createEmptyMovieClip("line"+num, num);
linea.lineStyle(1, 0x000000, 100);
}Tambien creamos un MovieClip vacio donde dibujaremos el trazado, y creamos un lineStyle por defecto.
Crearemos tambien una función para poder editar el estilo del trazado:
Código :
public function lineStyle(qGrosor:Number, qColor:Number, qAlfa:Number):Void
{
grosor = qGrosor;
color = qColor;
alfa = qAlfa;
linea.lineStyle(grosor, color, alfa);
linea.moveTo(glider._x, glider._y);
}Por ultimo crearemos una función que genere un onEnterFrame que dibuje una línea cada vez que el MovieClip se mueva sobre la guía:
Código :
public function start():Void
{
glider.onEnterFrame = Delegate.create(this, onEnterFrame);
}
//---------------------------------
private function onEnterFrame():Void
{
act = {x:glider._x, y:glider._y};
linea.lineTo(act.x, act.y);
if (prev && act.x == prev.x && act.y == prev.y)
{
delete glider.onEnterFrame;
} else
{
prev = act;
}
}Con lo que la clase completa quedaría asi:
Código :
import mx.utils.Delegate;
//---------------------------------
class redibujaGuia
{
private var grosor:Number;
private var color:Number;
private var alfa:Number;
private var ruta:MovieClip;
private var glider:MovieClip;
private var linea:MovieClip;
private var act:Object;
private var prev:Object;
//---------------------------------
public function redibujaGuia(qRuta:MovieClip, qGlider:MovieClip)
{
ruta = qRuta;
glider = qGlider;
//glider._visible = false;
var num:Number = ruta.getNextHighestDepth();
linea = ruta.createEmptyMovieClip("line"+num, num);
linea.lineStyle(1, 0x000000, 100);
}
//---------------------------------
public function lineStyle(qGrosor:Number, qColor:Number, qAlfa:Number):Void
{
grosor = qGrosor;
color = qColor;
alfa = qAlfa;
linea.lineStyle(grosor, color, alfa);
linea.moveTo(glider._x, glider._y);
}
//---------------------------------
public function start():Void
{
glider.onEnterFrame = Delegate.create(this, onEnterFrame);
}
//---------------------------------
private function onEnterFrame():Void
{
act = {x:glider._x, y:glider._y};
linea.lineTo(act.x, act.y);
if (prev && act.x == prev.x && act.y == prev.y)
{
delete glider.onEnterFrame;
} else
{
prev = act;
}
}
//---------------------------------
}Para utilizarla (a parte del proceso manual de dibujar la guía y colocar el MovieClip) utilizaremos este código en el fotograma donde empiece la interpolación:
Código :
import redibujaGuia; var linea1:redibujaGuia = new redibujaGuia(this, glider1); linea1.lineStyle(2, 0x000000, 100); linea1.start();

esto va a ahorrarme mucha chamba... yo hacia este procedimiento con animación cuadro a cuadro (para que dibujara a linea)
Por jenny el 23 de Febrero de 2007
Por Teresa el 23 de Febrero de 2007
Excelente Tip
Gracias!
Por eveevans el 24 de Febrero de 2007
aha por fin!!
Por almendro el 24 de Febrero de 2007
Por Rafeo el 24 de Febrero de 2007
Por nick77 el 24 de Febrero de 2007
nick77_blog :
+1 ... T_T en una ocasión tuve que hacer un trabajo con mascaras que me hizo odiarlas hasta el dia de hoy
Excelente Zguillez!!!!
Por incubo el 24 de Febrero de 2007
Gracias
Gracias
Por AaronDark el 26 de Febrero de 2007
incubo_blog :
Gracias
Me ha gustado mucho
Por carmen el 27 de Febrero de 2007
carmencvg@yahoo.es
carmen_blog :
carmencvg@yahoo.es
Necesitas flash8, sorry
Por tengo un problemilla el 28 de Febrero de 2007
PD. En el ejemplo descargado si la veo redondeada, tanto en edicion como cuando publico.
saludos y gracias
tengo un problemilla ..._ :
PD. En el ejemplo descargado si la veo redondeada, tanto en edicion como cuando publico.
saludos y gracias
El problemas es que le estas dando pocos fotogramas a la animación.
La linea que dubujas solo sirve como guía para desplazar el movieclip por la pelicula. Y este movieclip es el que fotograma a fotograma va diujando lineas mientras avanza. El tema es que si colocas pocos fotogramas en la animación el paso de un fotograma a otro será grande y verás lineas rectas largas.
Lo que has de hacer es ponerle más fotogramas. Y si lo que quieres es hacer la animación más rápida subes la velocidad de fotogramas de la pelicula
Por Federico el 06 de Marzo de 2007
public function lineStyle(qGrosor:Number, qColor:Number, qAlfa:Number):Void
{
grosor = qGrosor;
color = qColor;
alfa = qAlfa;
linea.lineStyle(grosor, color, alfa);
linea.moveTo(glider._x, glider._y);
}
o me equivoco?
Por cLydde el 08 de Marzo de 2007
Gracias, tenias razón, era cosa de los fotogramas, ahora ya "pinta" como es debido.
Por diegolo el 10 de Marzo de 2007
Por fran el 15 de Marzo de 2007
Gracias por tu aportacion ya andaba harto de mascaras para hacer este efecto.
Si tienes mas ideas soy todo oidos.
Saludos.
Por asalinasci el 19 de Marzo de 2007
Por asalinasci el 20 de Marzo de 2007
Por macmigue el 14 de Mayo de 2007
**Error** Escena=Scene 1, capa=Layer 1, fotograma=1:Línea 2: No se pudo cargar la clase o interfaz 'redibujaGuia'.
var linea1:redibujaGuia = new redibujaGuia(this, glider1);
Total de errores de ActionScript: 1 Errores comunicados: 1
macmigue_blog :
**Error** Escena=Scene 1, capa=Layer 1, fotograma=1:Línea 2: No se pudo cargar la clase o interfaz 'redibujaGuia'.
var linea1:redibujaGuia = new redibujaGuia(this, glider1);
Total de errores de ActionScript: 1 Errores comunicados: 1
Eso es porque no carga bien la clase. Coloca el archivo .as junto a tu .fla
Por Laura el 14 de Mayo de 2007
Solamente tengo un problema. Si quiero dibujar varios trazos en diferentes fotogramas a lo largo de la película, en el momento de dibujar uno automáticamente el último creado desaparece. He intentado crear varias clases en el mismo archivo .as, pero veo que no se puede, así que no sé como solucionarlo ya que el tema de las clases justo ahora empiezo a utilizarlo.
Por nuevo el 11 de Junio de 2007
Por silvana el 12 de Junio de 2007
Por aaron el 19 de Junio de 2007
Por daresyscom el 30 de Julio de 2007
Por Ana milena el 03 de Agosto de 2007
Por Guau el 22 de Agosto de 2007
Por patricia el 30 de Agosto de 2007
Por patricia el 30 de Agosto de 2007
patricia_blog :
Me parece que el chiste es que lo hagas tu
Por felipe el 15 de Septiembre de 2007
si os dais cuenta hay veces k los nombres de cada uno de los integrantes... sale con efecto de trazado... quisiera saber si eso se hace con este mismo metodo... es decir k en ves de crear tu mismo el trazado inicial pusieras la foto de tu nombre... o se hace con algun otro programa...por favor si alguien me puede ayudar... felipeyandres@msn.com les agradeceria de todo corazon!
Por Lucas el 04 de Octubre de 2007
Por Lucas el 04 de Octubre de 2007
**Error** Escena=Escena 1, capa=lapiz, fotograma=1:Línea 1: No se pudo cargar la clase o interfaz 'redibujaGuia'.
import redibujaGuia;
**Error** Escena=Escena 1, capa=lapiz, fotograma=1:Línea 2: No se pudo cargar la clase o interfaz 'redibujaGuia'.
var linea1:redibujaGuia = new redibujaGuia(this, glider1);
Total de errores de ActionScript: 2 Errores comunicados: 2
Por el 04 de Octubre de 2007
Zguillez :
macmigue_blog :
**Error** Escena=Scene 1, capa=Layer 1, fotograma=1:Línea 2: No se pudo cargar la clase o interfaz 'redibujaGuia'.
var linea1:redibujaGuia = new redibujaGuia(this, glider1);
Total de errores de ActionScript: 1 Errores comunicados: 1
Eso es porque no carga bien la clase. Coloca el archivo .as junto a tu .fla
Ya habias leido esto
Por Lucas el 04 de Octubre de 2007
Por milka el 31 de Octubre de 2007
Por la nena wena el 09 de Noviembre de 2007
Soy nueva en esto y no entiendo donde se tiene que poner el código...
Creo entender que hay dos secciones de código;
1º que crea una clase y no se dónde se pone
2º en el fotograma donde empieza la interpolación dentro del clip ¿no?
Gracias por perder unos minutos conmigo Riendo
Por abran limcon el 17 de Noviembre de 2007
abran limcon_blog :
Por Gracienk el 14 de Enero de 2008
Txs!
Por bee el 23 de Enero de 2008
Por fousini el 27 de Enero de 2008
Por gracias el 21 de Febrero de 2008
Muchas gracias
Un saludo
luis
Por Conic el 06 de Mayo de 2008
Realmente estaba buscando esto, pero es un mensaje viejo y el código no me funciona bien (soy medio novato) por lo que traté de descargar el fl pero ya no está disponible. Entonces quería ver si por favor me lo pod+ian volver a subir a ver si me funciona y entiendo un poco más como se trabaja esto.
Muchas gracias.
Por erbus7 el 07 de Junio de 2008
trato de hacerlo pero no puedo
si alguien me puede pasr el .fla
para poder analizarlo para saber donde tengo el error se los agradezco
saludos
erbus7@gmail.com
ok
Por carlos el 09 de Junio de 2008
Por carlos el 10 de Junio de 2008
var linea1:redibujaGuia = new redibujaGuia(this, glider1);
quizas a alguien le falte lo mismo,ahora puedo modificar este codigo y hacer una linea que se deslize como una forma de gusanito,porque yo hacia este efecto con una mascara era efectivo salvo cuando el gusanito tenia quedar una vuelta en U, me ha servido mucho, gracias
Por patritf el 26 de Junio de 2008
Por isra_mx el 01 de Julio de 2008
Por emac el 06 de Julio de 2008
Por pepin el 06 de Agosto de 2008
llevo dias intentando hacerlo y no hay manera....
no encuentra la ruta de la clase!
Por kekoxxx el 21 de Agosto de 2008
Por keightt94 el 26 de Agosto de 2008
gracias
Por lsc_tomni el 04 de Septiembre de 2008
muchisimas gracias
Buenas tardes!
Por pixel el 29 de Septiembre de 2008
Gracias
Por Gskm el 29 de Septiembre de 2008
Muchas Gracias!!
Por Pedro Pablo Arias el 22 de Octubre de 2008
ademas los links para la descarga de .fla no funcionan.
alguien podria mandarme el archivo?..
o decirme donde lo puedo bajar,
muchisimas gracias.
Por junior el 23 de Octubre de 2008
Por anifutip el 30 de Octubre de 2008
Gracias
Por Arnulfo Lopez el 05 de Noviembre de 2008
Gracias, mi correo arny_lopez@hotmail.com
Por kaoos el 17 de Noviembre de 2008
gracias
Por Guada el 10 de Diciembre de 2008
Muchas gracais
siempre me mataba frame por frame
pero nuca mas
gracias
Por magui el 07 de Febrero de 2009
Por bob el 23 de Marzo de 2009
Por fabian el 15 de Abril de 2009
Por ivan el 12 de Mayo de 2009
Por chicaverde el 25 de Mayo de 2009
Por CAMILO el 02 de Junio de 2009
Por kiko el 10 de Julio de 2009
Por lauchip09 el 20 de Agosto de 2009
mi mail es consultadiseno@hotmail.com
gracias!
Por andysrpeton el 23 de Agosto de 2009
gracias
andysrpeton@hotmail.com
Por kike el 03 de Septiembre de 2009
Por RONY TOCRA el 23 de Septiembre de 2009
Por Jime el 07 de Febrero de 2010
saludos
Por Jime el 07 de Febrero de 2010
Saludos
Por avidal el 05 de Marzo de 2010
Por avidal el 05 de Marzo de 2010
Por grouplab el 08 de Marzo de 2010
Por xxxx el 25 de Abril de 2010
http://www.codigoactionscript.org/redibujar-una-linea-con-actionscript/
Por carolina el 26 de Mayo de 2010
no puedo hacer el tutorial porq no me salen las imagens. gracais. necesito ahcer el efecto de escribir como sobre una pizarra
Por vanyu el 06 de Junio de 2010
salu2!
Por Ev el 06 de Junio de 2010
Por Ev el 06 de Junio de 2010
Por jose el 24 de Septiembre de 2010
Por gisela el 22 de Diciembre de 2010
Por juni_90 el 09 de Marzo de 2011
por favor, espero que no se mucha molestia pero se lo agradeseria mucho, gracias.
Por jorge el 18 de Octubre de 2011
Por por Sergio el 02 de Enero de 2012
Gracias
Por SergioU el 27 de Abril de 2012
Desde ya gracias.