cara, valeu demais pela dica. tava dando F5 aquí na tela esperando uma resposta. vou agora mesmo testar e posto o resultado. a propósito, não dá pra embedar a imagem porque é um menu personalizado. o usuário vai escolher a imagem. valeu Mario. vou testar.
On 14 out, 11:22, Mário Júnior <[email protected]> wrote: > Bom, como icones sao arquivos pqnos em png (se bem feitos, tem menos de 1kb) > eu embedaria TODOS os icones numa classe ImageUtils - por exemplo - e iria > trocando-os dinamicamente de acordo com o data do node da tree. Isso é > facil, rápido e nao possui muito custo - já q os icones sao pqnos mesmo. > > Obviamente que vc não irá trabalhara com icones de 180x180 para usar numa > árvore, certo? Por isso o tamanho dos arquivos seriam pqnos e eu (imho) nao > vejo problema algum em "embedá-los". > > Agora, se vc quer realmente fazer isso dinamico, daí o buraco é "mais > embaixo". > > Acontece que: > Ao fazer um [Embed] Class de arquivo de imagem, esse icone nao será um > "Class" propriamente dito, mas sim uma instancia de SpriteAsset. No momento > da compilação, o mxmlc - seu compilador - leu o arquivo de imagem, pegou os > bytes dele e jogou numa classe que extende de SpriteAsset antes de gerar o > swf, logo sua var 'embedada' é uma instancia de SpriteAsset. > > Sabendo disso, vc pode - em runtime - tentar criar um SpriteAsset, escrever > seu byteArray vindo do servidor nela e joga-la como um icon da Tree, já q o > icon espera um IFlexDisplayObject (E, segundo os docs, SpriteAssets > implementa > IFlexDisplayObject:http://help.adobe.com/pt_BR/FlashPlatform/reference/actionscript/3/mx... > ) > > Na boa, eu nunca fiz isso na prática - como disse, eu preferiria embedar > tudo - mas na teoria funcionaria sim. > (Só resta saber se "na prática, a teoria é diferente" hehehe) > > Boa sorte. > > []'s > > Em 14 de outubro de 2011 10:39, Leonardo Oliveira < > [email protected]> escreveu: > > > > > > > > > > > bom dia pessoal. > > estou precisando setar ícones dinamicamente em um menu tree e para > > isto recupero a imagem de cada ítem em forma de bytearray (blob do > > bd). o problema é que não posso fazer um embed dinâmico (obviamente). > > explicando melhor: > > > [Embed("../../Estilos/images/icon_relatorio.png")] > > private var icone:Class; > > _menuTree.setItemIcon(node, icone, icone); > > > isto funciona pois embedei no código a imagem diretamente de um > > diretório. > > > agora, a função setItemIcon espera os ícones como classe, mas eu tenho > > bytearray, que não converte em classe (Class(meuByteArray) - não > > funfa). então como eu poderia carregar isto dinamicamente? > > > Obrigado. > > > -- > > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > > Para enviar uma mensagem, envie um e-mail para [email protected] > > Para sair da lista, envie um email em branco para > > [email protected] > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > -- > Mario Juniorhttp://blog.mariojunior.com/ > @mariojunior -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
