Comunidad de diseño web y desarrollo en internet online

Problema con ColorTransform

Citar            
MensajeEscrito el 20 May 2009 06:21 am
Estube buscando en google mas de un día y no encontre nada al respecto...

El problema es que cuando usamos un MovieClip instanciado por código el ColorTransform no hace nada....
solo funciona cuando el mc es instanciado desde la libreria.

No se por que es así, alguien sabe alguna solución a esto?

Por madescoces

15 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 May 2009 06:55 am
Ya sé que es una estupidez por mi parte pero... ¿has comprobado que te refieres al MC correctamente?
Me refiero a que tu MC creado lo habrás hecho mediante algo como

Código ActionScript :

var mc:MovieClip=new MovieClip()
bla-bla-bla

La "variable" "mc" ha de ser accesible cuando apliquemos el colorTransform. Un ejemplo sencillo

Código ActionScript :

var mc1:MovieClip //definimos aquí "mc1"
iniciar()
transformar()
function iniciar(){
    mc1=new MovieClip()
    var mc2:MovieClip=new MovieClip()
    addChild(mc1)
    addChild(mc2)
}
function transformar(){
  //sobre "mc1" funciona porque "mc1" es una variable que hemos definido al principio
  mc1.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 30, 0, -30, 0);
   //sobre "mc2" NO funciona porque mc2 no tiene ningún valor,
   //mc2 sólo tiene valor DENTRO de la función "iniciar()"
   mc2.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 30, 0, -30, 0);
}


Reconozco que no lo he probado, pero se me "hace extraño"

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 May 2009 06:13 am
no no era eso, es algo sencillo, cuando creas por código como figura en tu respuesta es como en el viejo AS2 hacer un createEmptyMovieClip, o sea, no le pone nada adentro, entonces por mas que le asignes alto y ancho o backgroundColor no te da ni 5, tenes que usar el beginFill para pintaler algo, el proceso es algo así

Código :

source.graphics.beginFill(color,alpha);
      source.graphics.drawRoundRect(0,0,w,h,10,10);
      source.graphics.endFill();
      addChild(source);


recien despues de hacerle el cuadradito, podes usar lo que quieras para toquetear alpha color o lo que sea, si no le pintas un cuadradito no va a representar nunca nada. eso fue lo que me paso. es lógico pero bue a las quichicientas horas se te nubla la mente

Por madescoces

15 de clabLevel



 

msie7

 

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