Comunidad de diseño web y desarrollo en internet online

mascaras con degradado en as3

Citar            
MensajeEscrito el 09 Jul 2008 10:50 am
Hola amigos, estoy buscando la manera de poder hacer una mascara con degradado.
Se que antes para flash8 y as2 se utilizaba la propiedad setMask.

Ahora creo que se hace con mask, pero no consigo hacer funcionar la mascara, alguien me puede ayudar?

Gracias de antemano

Por ptazta

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jul 2008 07:58 am
Hola ptazta, si lo que quieres es crear una mascara en tiempo de ejecución en AS3, tienes que utilizar DisplayObject.mask.

El ejemplo que te pongo dibuja dos formas y utiliza una como máscara.

Código :

var maskSprite:Sprite=new Sprite();
var pen:Pen=new Pen(maskSprite.graphics);
pen.beginFill(0xFFFFFF);
pen.drawArc(100,100,50,80,20,true);
pen.endFill();

var maskedSprite:Sprite=new Sprite();
maskedSprite.graphics.lineStyle();
maskSprite.graphics.beginFill(0xFFFFFF);
maskedSprite.graphics.drawRect(0,0,200,200);
maskedSprite.graphics.endFill();
maskedSprite.mask=maskSprite;

addChild(maskedSprite);
addChild(maskSprite);


Observa que ambos objetos de visualización se añaden a la lista de visualización por medio de addChild().

Espero te sea de ayuda, un saludo ^^

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 10 Jul 2008 08:09 am
No se encontro el tipo o no es una constante en tiempo de compilacion: Pen
Llamada a un metodo Pen posiblemente no definido

Esos errores son los que me da cuando ejecuto tu codigo

Por ptazta

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Jul 2008 08:49 am
En el caso de ella pen es una clase en el caso tuyo sustituye

Código :

var maskSprite:Sprite=new Sprite();
var pen:Pen=new Pen(maskSprite.graphics);
pen.beginFill(0xFFFFFF);
pen.drawArc(100,100,50,80,20,true);
pen.endFill();


por

Código :

var maskSprite:Sprite=new Sprite();
maskSprite.beginFill(0xFFFFFF, 1);
maskSprite.drawArc(100,100,50,80,20,true);
maskSprite.endFill();

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Jul 2008 08:54 am
disculpa el código que debes de poner es algo como esto, olvidé la clase graphics que se implementa ahora en AS3.

Código :

var maskSprite:Sprite=new Sprite();
maskSprite.graphics.beginFill(0xFFFFFF, 1);
maskSprite.graphics.drawRect(100,100,100,100);
maskSprite.graphics.endFill();

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Jul 2008 10:46 am
Xasto elchininet ^^ , se me olvidó reemplazarlo en el ejemplo.
Pero bueno, era para que ptazta se hiciera una idea por encima de cómo se manejaban las mascaras en AS3. :P

Saludos

Por Uruviel

48 de clabLevel



Genero:Femenino  

msie7
Citar            
MensajeEscrito el 10 Dic 2009 01:23 pm
me da que os habeis ido por las ramas... que hay de la mascara degradada o desenfocada?, se peude ahcer sin new Sprite()? que tal sin nos centramos en como crear una mascara con desenfoque aunque sea un mc normal? saludos.

Por troyar

48 de clabLevel



 

msie7
Citar            
MensajeEscrito el 10 Dic 2009 04:39 pm
@troyar, un mc normal me imagino que sea un MovieClip. Si es así sólo sería cambiar new Sprite() por new MovieClip().

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 11 Dic 2009 08:11 am
bueno me referia a que en as2 con el setMask podias hacer una mascara degradada ideal para simular reflejos en el suelo donde la imagen reflejada se inicia con alpha 100 y acaba con alpha 0, pues probe el sustituto en as3 "mask" y se comporta igual que una maskara creada con las capas. no em creo que en la nueva version no se puedan hacer maskaras con degradado. saludos y gracias.

Por troyar

48 de clabLevel



 

msie7
Citar            
MensajeEscrito el 11 Dic 2009 04:30 pm
En las dos versiones se puede hacer máscaras con degradados, lo que lo mismo en AS3 que en AS2, los objetos que utilices (lo mismo la máscara que el objeto enmascarado) deben tener la propiedad casheAsBitmap en "true", si esto no ocurre la máscara funcionará como un objeto sin degradado. Mira este post.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 18 Jun 2010 09:02 pm
Gracias gracias! lo olvide y dos horas dandole vueltas para que me desenfocara progresivamente

Por chy_enrique

3 de clabLevel



 

Madrid

safari

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.