Cristalab

                 ¿Quieres registrarte?

Efectos de texto y bordeados en Actionscript

Por: Teseo
5 de Julio del 2007
1401 de clabLevel
Otros artículos de Teseo
9,462 visitas

En ocasiones necesitamos usar el perfil de un texto o de un logo para trabajar sobre el con algún efecto y/o filtro.

Este código lo consigue de una forma muy simple. Toma la "sombra" por al menos 4 lados, sumándola en un bitmap de salida.

Veamos el código y unos ejemplos:

Código :

//cargamos el MC con el dibujo o texto desde la biblioteca,
// nombre Vinculación: mc_b    Nombre cargado: mc0.
attachMovie("mc_b", "mc0", this.getNextHighestDepth());
// pasar el nombre del MC a perfilar y opcionalmente un color y un grosor
// por defecto (sin pasar el parámetro) perfila en NEGRO y grueso 1)
function perfilar(mc0, color, grueso){
   bm = new flash.display.BitmapData(mc0._width, mc0._height, true,0);
   bm2 = bm.clone(); bm3 = bm.clone(); bm.draw(mc0);
   perfil = this.createEmptyMovieClip("perfil", this.getNextHighestDepth());
   perfil.attachBitmap(bm3, 0);
   perfil._x =mc0._x; perfil._y =mc0._y;
   grueso ? g = grueso : g = 1;
   for (k=0; k<360; k+=90/g){
      bm2.applyFilter(bm,bm.rectangle,null,new flash.filters.BevelFilter(-g,k,color,100,0,0,0,0,100,1,"inner",true));
      bm3.draw(bm2);
   }
   bm.dispose(); bm2.dispose();
   return (perfil);
}

//Ejemplo Base : Perfil Simple
// usamos la llamada asignándola al nombre que deseemos de MC. 
TextMCP = perfilar(mc0);
TextMCP._y=80; // colocamos el nuevo MC a nuestro gusto.

//Ejemplo de uso: Neón Intermitente.
TextMCP2 = perfilar(mc0,0xfff00ff);
TextMCP2._y = 170;
BF2=  new flash.filters.BevelFilter(2,225,0xff0000,.6,0xffffff,.8,2,2,1,1,"inner",false);
GF1 = new flash.filters.GlowFilter(0xf000f0, 1, 5, 5, 4, 1,false, false);
GF2 = new flash.filters.GlowFilter(0xff00ff, 1, 10, 10, 1.7, 5, false, false);
setInterval(neon, 500);
function neon(){random(10)<6 ? TextMCP2.filters =[GF1,BF2] :TextMCP2.filters = [GF1,GF2];}

//Ejemplo de uso: Profundidad.
for (var n=0; n<32; n++){
   ma = perfilar(mc0,0xff000000+256*256*8*n);
   ma._y = 280-n/2; ma._x = n/2;
}

//Ejemplo de uso: Aleatorio.
setInterval(aleatorio, 2000);

function aleatorio(){
   perfil.removeMovieClip()
   ma = perfilar(mc0,rd2,ld);
   rd = random(0xffffff); rd2 = random(0xffffff); ld = random(8);
   BF3=  new flash.filters.BevelFilter(ld,225,rd,.6,rd2,.8,5,2,1,1,"inner",false);
   GF3 = new flash.filters.GlowFilter(rd , 1, 10, 10, 1, 5, false, true);
   random(10)<5 ? GF3.inner= !GF3.inner : null;
   random(10)<5 ? GF3.knockout =!GF3.knockout: null;
   random(10)<5 ? BF3.type= "inner" : BF3.type = "outer";
   random(10)<5 ? ma.filters =[BF3,GF3]: ma.filters =[BF3];
   ma._y = 364;
}


Una vez comprendido el concepto de uso, se puede aplicar de múltiples maneras dependiendo tan solo de la imaginación de cada uno.


Artículos Relacionados


Etiquetas actionscript

Comentarios | Enviar un comentario
Muy interesante, aún me sorprende lo que se puede hacer con un sabio uso de la clase Bitmap de Flash.
Por: HernanRivas
Soy un novata y he intentado aplicar tu tutorial a una animación de flash, pero resulta que el programa me da errores de gramática actionscript. ¿Podrías revisar el código y escribirlo correctamente, además de explicar las operaciones externas al código de una forma más explícita?
Por: fughedibach
muy buen tutorial
Por: softlusion
QUE CARAJO QUEREIS QUE DIGA.
CONFORME VEO EJEMPLOS ME MUERO DE ESA "ENVIDIA SANA".
QUIERO PONER A UN LOGO EL EFECTO QUE TESEO LE PUSO DE RELIEVE CON PROFUNDIDAD A UN BANER QUE ESTOY HACIENDO PARA UNA CONFERENCIA QUE QUIERO DAR EN SEPTIEMBRE SOBRE EL ORIGEN DE LAS CULTURAS, CON PPS
Y SOLO TENGO TUTORIALES.
EN FIN, AMIGOS, SEGUIREMOS DISFRUTANDO VIENDOOS HACER ESTAS MARAVILLAS.
Por: SANANTO
lo siento por lo de las mayusculas.
Por: SANANTO
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.