Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, eu estava precisando de uma "luz" aki :D
Eu vou montar uma apresentação simples de uma Modelagem de Pastas, em que vai aparecer aquele esqueminha de pastas e subpastas e ao clicar em cada uma abre uma janela mostrando uma imagem e descrição (que eu puxo de um XML). Essa janelinha eu estou fazendo que nem um janela comum, dá pra arrastar e fechar ela.
Tudo isso está Ok, mas eu estou com 2 problemas.
Se quiserem estou colocando o .rar com os arquivos que eu estou montando. Antes que comentem, esse é apenas o modelo de testes, portanto ele está tosco mesmo, que é pra evitar trabalho desnecessário. Eu estou juntando e testando diversos códigos pra ter uma idéia de como vai ficar antes de sair fazendo a versão final.
http://rapidshare.com/files/284865065/teste.rar.html
Pra facilitar heis o código principal.
var clipe = _root.center.center_menu.clipe;
var legenda = this.center.center_menu.legenda;
// Vamos agora incluir a classe tween para aplicarmos o efeito alfa no MC
#include "lmc_tween.as"
i = 0;// declara valor inicial da variavel igual a 0
System.useCodepage = true;// habilita acentos
function alinhar() {
clipe.tween("_x",Stage.width/2-largura/2,2,"easeElastic");// alinhar a foto ao meio do palco horizontalmente
clipe.tween("_y",Stage.height/2-altura/2,2,"easeElastic");// alinhar a foto ao meio do palco verticalmente
carregando.tween("_x",Stage.width/2,2,"easeElastic");// alinhar o preloader ao meio do palco horizontalmente
carregando.tween("_y",Stage.height/2,2,"easeElastic");// alinhar o preloader ao meio do palco verticalmente
}
function carrega() {// cria a função para carregar
clipe.loadMovie(arquivo.childNodes[0].childNodes[i].attributes.imagem);// carrega a imagem
legenda.text = arquivo.childNodes[0].childNodes[i].attributes.legenda;// carrega a legenda
}
function preloader() {// cria a função para o preloader aparecer
carregando.tween("_alpha",100,2,"easeElastic");
}
var arquivo:XML = new XML();// declara a variavel para ler o XMLarquivo.onLoad = function() {
largura = arquivo.childNodes[0].childNodes[i].attributes.largura;// largura do arquivo
altura = arquivo.childNodes[0].childNodes[i].attributes.altura;// altura do arquivo
total = arquivo.childNodes[i].childNodes.length;// pegar quantas fotos tem
carrega();
};
um.onRelease = function() {
i=0;
carrega();// carrega a foto
};
dois.onRelease = function() {
i=0+1;
carrega();// carrega a foto
};
tres.onRelease = function() {
i=0+2;
carrega();// carrega a foto
};
quatro.onRelease = function() {
i=0+3;
carrega();// carrega a foto
};
1. O primeiro problema é que ao abrir uma pasta, eu posso arrastá-la, mas se eu clicar em outra pasta (enquanto essa está aberta) o flash vai carregar o próximo conteúdo nessa mesma janela, enquanto que eu queria que abrisse em uma nova. Para não ter que fazer dezenas de janelas, eu imagino que o melhor a se usar é o duplicateMovieClip, mas eu não sei usar direito.
Tentei colocar o duplicate no botão dessa forma:
um.onRelease = function() {
i=0;
center.duplicateMovieClip(center, 2);
carrega();// carrega a foto
};
Mas não deu certo, não apenas não funcionava, mas tbm detonava a função "startDrag" da janela.
2. O segundo problema, é que eu gostaria que as janelas mudassem de tamanho de acordo com a imagem aberta naquele botão.
O único resize que eu consegui fazer, acabou espremendo o MC e ficando uma bosta. Então eu tentei simplesmente dizer que a largura e altura da janela eram iguais aos da imagem importada.
Eu tentei adicionar esse código dentro da função carrega(), mas não deu em nada.
_root.center.center_menu._width = largura;
_root.center.center_menu._height = altura;
Mas existe um outro problema. Como eu tenho uma imagem e uma descrição, eu teria que considerar o tamanho total dos dois. No final acho que é mais prático eu salvar a descrição como uma parte da imagem, ao invés de duas coisas separadas.
No caso, é possível fazer esse resize fluido? Fluido seria você ver o resize acontecendo, como se fosse uma animação (com a tabela crescendo e dominuindo) ao invés de mudar do nada.
Bom, essas são as minhas dúvidas, alguém sabe como posso resolver isso??
Obrigado ae por quem puder dar essa luz :D
Carregando comentários...