Ir para conteúdo

POWERED BY:

Arquivado

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

IAMDIX

[Resolvido] Probleminha com botoes

Recommended Posts

Ola pessoal,

 

estou criando meu site aqui completamente em AS3 com Flash CS3 Pro e não sei o que falta nesse codigo a seguir pois os arquivos swf são carregados somente de cima para baixo

 

desde ja agradeço

 

stop();
var carregarswf:Loader = new Loader();
var enderecoswf:URLRequest = new URLRequest("Home.swf");
carregarswf.load(enderecoswf);
target_mc.addChild(carregarswf); 

carregarswf.addEventListener(MouseEvent.CLICK, someImagem);
function someImagem(meuEvento:MouseEvent){
   target_mc.removeChild(carregarswf);
} 


b1.addEventListener(MouseEvent.CLICK, abre_Home);
var swf1:Loader = new Loader();
target_mc.addChild(swf1);
function abre_Home (e:MouseEvent):void{
swf1.load(new URLRequest("Home.swf"));
}

b2.addEventListener(MouseEvent.CLICK, abre_Galeria);
var swf2:Loader = new Loader();
target_mc.addChild(swf2);
function abre_Galeria (e:MouseEvent):void{
swf2.load(new URLRequest("Galeria.swf"));

}
b3.addEventListener(MouseEvent.CLICK, abre_Googlemap);
var swf3:Loader = new Loader();
target_mc.addChild(swf3);
function abre_Googlemap (e:MouseEvent):void{
swf3.load(new URLRequest("Googlemap.swf"));
}

b4.addEventListener(MouseEvent.CLICK, abre_Reservas);
var swf4:Loader = new Loader();
target_mc.addChild(swf4);
function abre_Reservas (e:MouseEvent):void{
swf4.load(new URLRequest("Reservas.swf"));
}

b5.addEventListener(MouseEvent.CLICK, abre_Contato);
var swf5:Loader = new Loader();
target_mc.addChild(swf5);
function abre_Contato (e:MouseEvent):void{
swf5.load(new URLRequest("Contato.swf"));
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Bruno,

 

queria dizer que se eu clickar os botões nessa sequencia (b1-->b2-->b5 por exemplo) tudo funciona mas se for fazer o contrario (b5-->b2 por exemplo) fica carregado o swf relativo ao b5

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você está adicionando os loaders ao palco antes deles carregarem qualquer coisa. Cada filho que você vai adicionando, entra, por padrão, acima de todos os outros. Então, carrega algo no swf5, que é o último filho adicionado, ele sobrepõe os outros.

 

Eu te daria duas dicas:

  1. Se você não está se preocupando com as transições de entrada e saída, use um único Loader para carregar diversos filmes.
  2. Lembre-se de descarregar o filme atual para evitar memory leaks.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno,

 

mais uma vez obrigado pela contribução

 

Vou postar o resultado que copiei de um membro de outro forum que resolveu meu problema.

 

stop();

var carregarswf:Loader = new Loader(); //utiliza o mesmo carregador pra todos os swf
target_mc.addChild(carregarswf); //adiciona o loader em um mc
abre_Home(null); //carrega primeiro a home.swf


/*********************
* EVENTS
*********************/ 
carregarswf.addEventListener(MouseEvent.CLICK, someImagem);
b1.addEventListener(MouseEvent.CLICK, abre_Home);
b2.addEventListener(MouseEvent.CLICK, abre_Galeria);
b3.addEventListener(MouseEvent.CLICK, abre_Googlemap);
b4.addEventListener(MouseEvent.CLICK, abre_Reservas);
b5.addEventListener(MouseEvent.CLICK, abre_Contato);


/*********************
* FUNCTIONS
*********************/

function someImagem(meuEvento:MouseEvent):void
{
   carregarswf.unload(); //descarrega conteudo do loader
} 

function abre_Home(e:MouseEvent):void
{
       carregarswf.load(new URLRequest("Home.swf"));
}

function abre_Galeria(e:MouseEvent):void
{
       carregarswf.load(new URLRequest("Galeria.swf"));
}

function abre_Googlemap(e:MouseEvent):void
{
       carregarswf.load(new URLRequest("Googlemap.swf"));
}

function abre_Reservas(e:MouseEvent):void
{
       carregarswf.load(new URLRequest("Reservas.swf"));
}

function abre_Contato(e:MouseEvent):void
{
       carregarswf.load(new URLRequest("Contato.swf"));

}

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.