Comunidad de diseño web y desarrollo en internet online

gradient shape jalado de swf externo.

Citar            
MensajeEscrito el 05 Dic 2012 10:04 pm
Buen dia,

verán tengo un swf que contiene varios mc que contienen 1 shape con una forma en blanco.
(estoy haciendo un juego de colorear) estaba todo muy simple hasta que se le ocurrio a quien me pidió hacerlo que quedara no un color plano sino un degradado.

la cosa es que no he podido darle gradiente al shape contenido...

para solventarlo cree una funcion que lo que hace es crearme un gradient en un sprite y lo pone debajo del shape en una mascara...

Código ActionScript :

import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.GradientType;
import flash.display.Shape;
import flash.geom.Matrix;

var sprite:Sprite = new Sprite();
var contLayer:MovieClip = MovieClip(e.target);
var ncontainer:MovieClip = new MovieClip();
var gradCont:MovieClip = new MovieClip();

var cw:int = contLayer.width;
var ch:int = contLayer.height;
var cx:int = contLayer.x;
var cy:int = contLayer.y;

var m:Matrix = new Matrix(); 
m.createGradientBox( cw, ch, 1.92, 20, -40); 

sprite.graphics.beginGradientFill(GradientType.LINEAR, [0xFFFFFF, colorHex], [1, 1], [0x00, 0xFF], m);
sprite.graphics.drawRect(0,0,cw,ch);

gradCont.addChild(sprite);
ncontainer.addChild(contLayer.getChildAt(0));
contLayer.addChildAt(gradCont, 0);
contLayer.addChildAt(ncontainer, 0);
gradCont.mask = ncontainer;


la cosa es que ya no puedo volver a colorearlo... imagino que por que ahora el shape es una mascara como lo soluciono.. hay un método para colorear el shape con el gradient y no tener que crear mascaras?

otra cosa que se me ocurrió era duplicar el shape y ponerlo encima de los mc dinámicos con un alpha, pero no he encontrado un método que me funcione para duplicar el shape. conocen alguno?

Por animatk

10 de clabLevel



Genero:Masculino  

Diseño

chrome
Citar            
MensajeEscrito el 06 Dic 2012 12:47 pm
Puedes usar todo el API de drawing en un Shape a través de la propiedad graphics, es decir puedes aplicar beginGradientFill directamente en el shape al momento de dibujarlo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 13 Dic 2012 08:02 pm
Gracias por contenstar, el shape ya existía en un swf externo es que ya he intentado darle la propiedad graphics.beginGradientFill y se (desaparece) o queda sin color... por eso no entiendo a que te refieres con "al momento de dibujarlo"

Por animatk

10 de clabLevel



Genero:Masculino  

Diseño

chrome
Citar            
MensajeEscrito el 13 Dic 2012 09:11 pm
ohh Dios.. ya solucione mi problema, simplemente cambie el new Sprite por un new Shape... imagino que al sprite no podía darle click nuevamente.

Muchas Gracias.

Por animatk

10 de clabLevel



Genero:Masculino  

Diseño

chrome

 

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