iglota 0 Denunciar post Postado Novembro 3, 2011 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
brunobispo 20 Denunciar post Postado Novembro 3, 2011 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