Ir para conteúdo

POWERED BY:

Arquivado

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

Novato_flash

Action de menu com Loader, addChild, removeChild

Recommended Posts

Caros usuários

Sou novo aqui e preciso da ajuda de alguém.

Estou fazendo um site em flash AS3 e estou enfrentando algumas dificuldades.

Já gogglei em tudo e não achei uma solução.

 

Hoje o site possui 4 arquivos SWF, um para cada página e um menu com uma action para cada SWF.

Estou mudando o site para um arquivo SWF com menu fixo onde carrego as outras SWF dentro dele.

Até aí beleza.

Porém tenho que mudar a action, pois agora terei apenas uma para todas as páginas.

Exemplo, a action do bt0 do menu atual está assim:

 

var menu:Vector.<String>=Vector.<String>([0, 1, 2, 3]);
var i:uint;
var ativo:Object=bt0;
for (i=0;i<=3;i++){
this ["bt"+i].button.value=menu[i]
	if(i!=0){
	this["bt"+i].addEventListener(MouseEvent.MOUSE_OVER, over);
	this["bt"+i].addEventListener(MouseEvent.MOUSE_OUT, out);
	this["bt"+i].addEventListener(MouseEvent.CLICK, clique);
}
}
bt0.gotoAndStop(15);
function over(evt:MouseEvent):void{
evt.currentTarget.gotoAndPlay("over");
}
function out(evt:MouseEvent):void{
evt.currentTarget.gotoAndPlay("out");
}
function clique(evt:MouseEvent):void{
	ativo.addEventListener(MouseEvent.MOUSE_OVER, over);
	ativo.addEventListener(MouseEvent.MOUSE_OUT, out);
	ativo.addEventListener(MouseEvent.CLICK, clique);
	ativo.gotoAndStop(3);
	ativo=evt.currentTarget;
	ativo.removeEventListener(MouseEvent.MOUSE_OVER, over);
	ativo.removeEventListener(MouseEvent.MOUSE_OUT, out);
	ativo.removeEventListener(MouseEvent.CLICK, clique);
	switch(ativo){
		case(bt0):
		navigateToURL(new URLRequest("index.html"), "_self");
		break;
		case(bt1):
		navigateToURL(new URLRequest("empresa.html"), "_self");
		break;
		case(bt2):
		navigateToURL(new URLRequest("servicos.html"), "_self");
		break;
		case(bt3):
		navigateToURL(new URLRequest("contato.html"), "_self");
		break;
	}
}

Como inserir todas as action dos outros botões ?

Ainda por cima, preciso que ao invés do link em uma nova página,

se aberta a nova página no próprio SWF.

Utilizei isso:

var carregador:Loader = new Loader();
carregador.x = 6;
carregador.y = 140;
carregador.load(new URLRequest("conteudo.swf"));
addChild(carregador);

 

Mas qdo insiro no lugar de navigateToURL...

começam os problemas...

Será que alguém poderia me ajudar.

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um pouco complicado esse código, não entendi esse loop, mas no caso do botão ele devem ter nomes de intancia diferentes.

Pelo que eu entendi bt1, bt2 e bt3 e para abrir no flash acho que não se utiliza o navigateToURL.

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.