Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

iglota

Color Picker e addChild

Recommended Posts

Tenho esse código:

 

import fl.events.ColorPickerEvent;
import flash.geom.ColorTransform;
import flash.display.MovieClip;

// inicia o colorPicker com a cor branca

meuColorPicker.selectedColor = 0xffffff;

//adiciona um listener que dispara um evento quando o usuário seleciona uma nova cor

meuColorPicker.addEventListener(ColorPickerEvent.CHANGE, corAlterada);

// quando mudei  o objeto para Sprite, o colorPicker passou a funcionar.;
// ainda não consigo acessar o movie dentro de um Sprite

var objeto:Sprite = camiseta.baseCamiseta;

// função para a mudança de cor

function corAlterada(e:ColorPickerEvent):void {

//acessa a propriedade ColorTransform associada à variável objeto que recebe nomes de MovieClips
var colorInfo:ColorTransform = objeto.transform.colorTransform;

// determina qual a cor do objeto ColorTransform, associado ao colorPicker
colorInfo.color = meuColorPicker.selectedColor;

// aplica a mudança ao objeto (movieClip) no palco

objeto.transform.colorTransform = colorInfo;
}

 

Ocorre que eu preciso que o color Picker aja sobre um movieClip que está dentro do camiseta, em um outro movie chamado baseCamiseta. Se eu simplesmente deixo o movie no palco, sem trazê-lo com AddChild, funciona, mas quando eu o trago da biblioteca, coisa que vou precisar fazer, aí dá pau.

 

O erro é o seguinte:

Propriedade baseCamiseta não encontrada em flash.display.Sprite e não há valor padrão.

 

Se alguém puder ajudar, agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O objeto camiseta precisa ser um MovieClip para que suas propriedades sejam dinâmicas e você possa acessar o filho baseCamiseta como uma propriedade. Sendo um Sprite, como o erro informa, você pode acessar o filho com o método getChildByName(), ficando assim:

 

var objeto:Sprite = Sprite(camiseta.getChildByName('baseCamiseta'));

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.