Ir para conteúdo

POWERED BY:

Arquivado

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

miqueiaSilva

[Resolvido] Navegação dinâmica

Recommended Posts

Olá á todos.

Estou criando um script de um site em flash e estou tendo problemas com a navegação que deveria funcionar assim:

 

Ao clicar no menu, troca-se a página(principio básico, mostrando o mc respectivo e tirando o anterior. Mas o problema é que quando clico duas vezes no mesmo botão ele já retira seu respectivo mc. Deu para entender.

 

Criei uma propriedade para cada botão que representa um moviClip. E quando clicado, dispara a função que acessa esta propriedade, chamando assim o moviClip.

 

 

Abaixo o código que utilizei:

import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
import flash.display.MovieClip;
import flash.geom.Rectangle;

//variaveis para animação
var animar:Tween;
var primeiraPagina: Boolean = false;

//variaveis para controle 
var posIni:int;
var posFin:int;
var posVez:Number;

var bounds: Rectangle

var pagNew:MovieClip;
var pagAntiga:MovieClip;

//condições para botoes
btHome_mc.buttonMode = true;
btCatalogo_mc.buttonMode = true;
btViginolly_mc.buttonMode = true;
btClientes_mc.buttonMode = true;
btOrcamento_mc.buttonMode = true;
btContato_mc.buttonMode = true;


home_mc.saibaMaisHome1_mc.buttonMode = true;



//condições para pagina nova
pagNew = home_mc;

//visualização
home_mc.visible = true;
viginolly_mc.visible = false;
clientes_mc.visible = false;
orcamento_mc.visible = false;
contato_mc.visible = false;
infoHome1_mc.visible = false;

infoHome1_mc.fechar_mc.buttonMode = true;
//criando propriedade para controle de movieclipes
btHome_mc.daVez =  home_mc;
btCatalogo_mc.daVez =  home_mc;
btViginolly_mc.daVez = viginolly_mc;
btClientes_mc.daVez =  clientes_mc;
btOrcamento_mc.daVez = orcamento_mc;
btContato_mc.daVez = contato_mc;

//funçoes de click para efeito de menu
btHome_mc.addEventListener(MouseEvent.CLICK, animando);
btCatalogo_mc.addEventListener(MouseEvent.CLICK, animando);
btViginolly_mc.addEventListener(MouseEvent.CLICK, animando);
btClientes_mc.addEventListener(MouseEvent.CLICK, animando);
btOrcamento_mc.addEventListener(MouseEvent.CLICK, animando);
btContato_mc.addEventListener(MouseEvent.CLICK, animando);
//funçõe de click para efeito de troca de pagina
btHome_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btViginolly_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btClientes_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btOrcamento_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btContato_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
//função para mostra painel de informação
home_mc.saibaMaisHome1_mc.addEventListener(MouseEvent.CLICK, mostraMais)
//função para fechar painel de informação
infoHome1_mc.fechar_mc.addEventListener(MouseEvent.CLICK, fechar)

//função para controle de scroll



//funções
function trocaPagina(e:Event)
{ 
trace(e.target.name)

trazPagina(e.target.daVez) 
}

function trazPagina(daVez)
{
pagAntiga = pagNew;
pagNew = daVez;

TransitionManager.start(
				pagNew,
				{
					type:Fade ,
					direction: Transition.IN, 
					duration: 2, 
					easing: Strong.easeIn, 
					startPoint: 6
				} );

TransitionManager.start(
				pagAntiga,
				{
					type:Fly ,
					direction: Transition.OUT, 
					duration: 1, 
					easing: Strong.easeOut, 
					startPoint: 8
				} );
TransitionManager.start(
				pagAntiga,
				{
					type:Fade ,
					direction: Transition.OUT, 
					duration: 0.8, 
					easing: Regular.easeOut, 
					startPoint: 8
				} );
}

function animando(e:Event)
{
posIni = enfeiteMenu_mc.y;
posVez = e.target.y - 5;
animar = new Tween(enfeiteMenu_mc,"y", Strong.easeInOut, posIni , posVez, 2, true);
animar = new Tween(mascara_mc,"y", Strong.easeInOut, posIni , posVez, 1.5, true);
}

function mostraMais(e:Event)
{
TransitionManager.start(
				infoHome1_mc,
				{
					type:Fade ,
					direction: Transition.IN, 
					duration: 1, 
					easing: Regular.easeIn, 
					startPoint: 6
				} );
}

function fechar(e:Event)
{
TransitionManager.start(
				e.target.parent,
				{
					type:Fade ,
					direction: Transition.OUT, 
					duration: 1.5, 
					easing: Strong.easeOut, 
					startPoint: 6
				} );
}




 

 

Por favor me ajudem. E agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria uma variável que guarde o ultimo botão clicado, assim você pode verificar:

 

 

function animando(e:Event)
{
 if(ultimoClicado != e.target){
       ultimoClicado  = e.target;
posIni = enfeiteMenu_mc.y;
posVez = e.target.y - 5;
animar = new Tween(enfeiteMenu_mc,"y", Strong.easeInOut, posIni , posVez, 2, true);
animar = new Tween(mascara_mc,"y", Strong.easeInOut, posIni , posVez, 1.5, true);
 }
}

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

cria uma variável que guarde o ultimo botão clicado, assim você pode verificar:

 

 

function animando(e:Event)
{
 if(ultimoClicado != e.target){
       ultimoClicado  = e.target;
posIni = enfeiteMenu_mc.y;
posVez = e.target.y - 5;
animar = new Tween(enfeiteMenu_mc,"y", Strong.easeInOut, posIni , posVez, 2, true);
animar = new Tween(mascara_mc,"y", Strong.easeInOut, posIni , posVez, 1.5, true);
 }
}

 

 

 

[]´s

 

Cara, valeu mesmo! Deu certo agora, fiz o que você me disse: Criei uma variável que pegava o valor do movieclip e criei uma condição na função que chama o movieclip.

 

Valeu pela ajuda.

 

Veja como ficou o código:

 

import fl.transitions.*;
import fl.transitions.easing.*;
import flash.events.Event;
import flash.display.MovieClip;
import flash.geom.Rectangle;

//variaveis para animação
var animar:Tween;
var primeiraPagina: Boolean = false;

//variaveis para controle 
var posIni:int;
var posFin:int;
var posVez:Number;

var bounds: Rectangle

var pagNew:MovieClip;
var pagAntiga:MovieClip;
var ultimoClicado:Object;

//condições para botoes
btHome_mc.buttonMode = true;
btCatalogo_mc.buttonMode = true;
btViginolly_mc.buttonMode = true;
btClientes_mc.buttonMode = true;
btOrcamento_mc.buttonMode = true;
btContato_mc.buttonMode = true;


home_mc.saibaMaisHome1_mc.buttonMode = true;



//condições para pagina nova
pagNew = home_mc;

ultimoClicado = btHome_mc;

//visualização
home_mc.visible = true;
viginolly_mc.visible = false;
clientes_mc.visible = false;
orcamento_mc.visible = false;
contato_mc.visible = false;
infoHome1_mc.visible = false;

infoHome1_mc.fechar_mc.buttonMode = true;
//criando propriedade para controle de movieclipes
btHome_mc.daVez =  home_mc;
btCatalogo_mc.daVez =  home_mc;
btViginolly_mc.daVez = viginolly_mc;
btClientes_mc.daVez =  clientes_mc;
btOrcamento_mc.daVez = orcamento_mc;
btContato_mc.daVez = contato_mc;

//funçoes de click para efeito de menu
btHome_mc.addEventListener(MouseEvent.CLICK, animando);
btCatalogo_mc.addEventListener(MouseEvent.CLICK, animando);
btViginolly_mc.addEventListener(MouseEvent.CLICK, animando);
btClientes_mc.addEventListener(MouseEvent.CLICK, animando);
btOrcamento_mc.addEventListener(MouseEvent.CLICK, animando);
btContato_mc.addEventListener(MouseEvent.CLICK, animando);
//funçõe de click para efeito de troca de pagina
btHome_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btViginolly_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btClientes_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btOrcamento_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
btContato_mc.addEventListener(MouseEvent.CLICK, trocaPagina);
//função para mostra painel de informação
home_mc.saibaMaisHome1_mc.addEventListener(MouseEvent.CLICK, mostraMais)
//função para fechar painel de informação
infoHome1_mc.fechar_mc.addEventListener(MouseEvent.CLICK, fechar)

//função para controle de scroll



//funções
function trocaPagina(e:Event)
{ 
trace(btHome_mc.name)

if(ultimoClicado != e.target){
       ultimoClicado  = e.target;
trazPagina(e.target.daVez) 
}
}

function trazPagina(daVez)
{
pagAntiga = pagNew;
pagNew = daVez;

TransitionManager.start(
				pagNew,
				{
					type:Fade ,
					direction: Transition.IN, 
					duration: 2, 
					easing: Strong.easeIn, 
					startPoint: 6
				} );

TransitionManager.start(
				pagAntiga,
				{
					type:Fly ,
					direction: Transition.OUT, 
					duration: 1, 
					easing: Strong.easeOut, 
					startPoint: 8
				} );
TransitionManager.start(
				pagAntiga,
				{
					type:Fade ,
					direction: Transition.OUT, 
					duration: 0.8, 
					easing: Regular.easeOut, 
					startPoint: 8
				} );
}

function animando(e:Event)
{
posIni = enfeiteMenu_mc.y;
posVez = e.target.y - 5;
animar = new Tween(enfeiteMenu_mc,"y", Strong.easeInOut, posIni , posVez, 2, true);
animar = new Tween(mascara_mc,"y", Strong.easeInOut, posIni , posVez, 1.5, true);
}

function mostraMais(e:Event)
{
TransitionManager.start(
				infoHome1_mc,
				{
					type:Fade ,
					direction: Transition.IN, 
					duration: 1, 
					easing: Regular.easeIn, 
					startPoint: 6
				} );
}

function fechar(e:Event)
{
TransitionManager.start(
				e.target.parent,
				{
					type:Fade ,
					direction: Transition.OUT, 
					duration: 1.5, 
					easing: Strong.easeOut, 
					startPoint: 6
				} );
}




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.