Ir para conteúdo

POWERED BY:

Arquivado

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

andrea cerqueira

Ação Dinâmica

Recommended Posts

Costumo fazer meus sites assim, quando um botão é apertado faz uma pausa pra determinada animação executar (por exemplo o que está no palco sair) e depois da pausa vai pra determinado frame e abre o que tiver que abrir, funciona mas acho muito ruim e muito trabalhoso usar pausa.

Provavelmente tem uma forma de fazer o que quero de forma mais limpa e menos complicada, o que eu queria saber é se posso por exemplo quando apertar um botão ir pra determinado frame andar alguns frames e no stop desse frame ter algum código dizendo que se foi apertado tal botão você vai pro frame 1 mas se você veio de outro botão ir pra outro frame, sei que poderia fazer por exemplo várias saídas dessa e em cada frame que tiver um stop mandar ele pra um frame diferente mas tb acho que assim seria trabalhoso e acho que deve ter alguma forma de fazer isso dinamicamente.

Poderia também ser algo como ao clicar no botão ele ir pra determinado frame andar 5 frames a partir do frame que chegou e executar certa função, mas isso tudo teria que estar dentro do botão que seria apertado, tem como?

Alguma dica? http://forum.imasters.com.br/public/style_emoticons/default/shifty.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu botão você escreveria algo assim:

on (release){	//função para andar para os frames	clicado  = true;}

E na sua função para saber, basta usar a condicional:

function foiClicado(){	if(clicado){		//faço uma coisa	} else {		//faço outra	}}

Entendeste?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No seu botão você escreveria algo assim:

on (release){	//função para andar para os frames	clicado  = true;}
E na sua função para saber, basta usar a condicional:
function foiClicado(){	if(clicado){		//faço uma coisa	} else {		//faço outra	}}
Entendeste?
Sim entendi mas no caso são mais de 3 botões e fiz algo assim:No 1° frame coloquei isso:stop();if (apertado == 1) { gotoAndPlay(10); }if (apertado == 2) {gotoAndPlay(20); }if (apertado == 3) { gotoAndPlay(30); }Nos 3 botões eu coloquei isso:on (release) {apertado = 1;_root.gotoAndPlay(2);}on (release) {apertado = 2;_root.gotoAndPlay(2);}on (release) {apertado = 3;_root.gotoAndPlay(2);}Ou seja quando ele é apertado ele vai pro frame 3 e anda até o frame 5 que tem um stop(); daí executa a ação da varial que for a dele, mas não está funcionando, falta alguma coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andréa, você pode fazer uma função o frame direto e execute, por exemplo:

 

function andrea(frame){

gotoAndPlay(frame);

}

 

no botão você coloca:

 

on(release){

andrea(10);// 10 é o número do frame que você quer que ele vá

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andréa, você pode fazer uma função o frame direto e execute, por exemplo:function andrea(frame){ gotoAndPlay(frame);}no botão você coloca:on(release){ andrea(10);// 10 é o número do frame que você quer que ele vá}

Oi carneirinho!Não consegui da forma que você me mandou fazer, já tentei tentei e nada.Olha só o que quero é isso:3 botões, todos ao serem apertados irão pro frame 50 por exemplo e como darei um gotoandplay elas irão pro 50 e andarão 5 frames, onde no frame 55 tem um stop e alguma função que corresponda ao bõtão que foi executado, entendeu?Todos vão pro mesmo lugar e andam 5 frames até aí tudo bem, mas dependendo do botão que foi apertado e ele deve fazer alguma ação entendeu?Já tendei de várias formas e não consigo, alguém pode clarear meu raciocínio pq eu penso e sempre caio na mesma solução que não funciona de forma alguma, meu raciocício deve ser meio turvo :wacko:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos tentar isso. Digamos que você tenha 3 botões: empresa - conteúdo - contatoA parte da empresa vai do frame 1 ao 50 sendo que do quadro 1 a 30 é uma animação de entrada e do quadro 30 ao 50 é uma animação para sair de empresa.A parte do conteúdo vai do frame 51 ao 100 sendo que do quadro 51 a 70 é uma animação de entrada e do quadro 70 ao 100 é uma animação para sair de conteúdo.A parte do contato vai do frame 101 ao 150 sendo que do quadro 101 ao 130 é uma animação de entrada e do quadro 130 ao 150 é uma animação para sair de contato.Beleza? agora vamos colocar alguns rótulos:no frame 1 - "empresa"no frame 51 - "conteudo"no frame 101 - "contato"Agora nos frames 50, 100 e 150 colocamos a seguinte ação:this.gotoAndPlay(destino);Agora nos botões colocamos:// Botão de link para empresaon(Release){ destino = "empresa"; play();}// Botão de link para conteúdoon(Release){ destino = "conteudo"; play();}// Botão de link para contatoon(Release){ destino = "contato"; play();}Tente isso.[ ]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não sei como resolver o seu problema mas vou demonstrar como eu faço os meus menus dinamicos.então no meu exemplo eu vou usar 3 botões e 3 movieclips. esses 3 botões vou mexer nos movieclips.botao1, botao2, botao3.MC1, MC2, MC3antes de tudo acho que você devia se acostumar a dar nomes no movieclip, é que assim, em vez de ter gotoAndPlay (50) você mete gotoAndPlay ("inicio") e assim, mesmo que mude qualquer coisa no movieclip não precisa de mudar acções nos botões.Para usar este método, todos os movieclip devem ter os nomes iguais, então, quando quero iniciar a animação escolho "inicio" o fim da animação fica com o nome "fim"Na primeira frame do ficheiro flash eu coloco uma variavel que vai dizer qual é o menu que está activo.activado = "";no botao 1:onRelease { if (activado == ""){ _root.MC1.gotoAndPlay ("inicio"); } else { _root.activado.gotoAndPlay ("fim"); _root.MC1.gotoAndPlay ("inicio");}ou seja, o que cada botão vai fazer é primeiro verificar se a variavel "activado" esta a ser usada, se nao estiver ele corre o movieclip que nos dizemos, senao ele fechar o movieclip que tem o valor de activado e depois correr o movieclip que nos queremos.Para isto funcionar no movieclip só tem de fazer 2 coisas:quando a animação dentro do movieclip for executada escreve isto na layers das actions:_root.activado = _root.MC1;ou seja, a variavel "activado" vai ter o valor do movieclip que está a ser executado.se algum movieclip estiver activado ele vai e fecha.este script tanto dá para 3 ou para 100 movieclips.ao todo o que acontece é que sempre que algum menu é activado ele toma o valor da variavel "activado" e assim sempre que você carrega noutro botão qualquer o que ele vai fazer é primeiro ver se a variável é "" se não for ele fecha o que está activo e depois corre o menu que você escolheu.isto pode parecer difícil mas é bem mais fácil fazer do que dizer eheh eu sou português por isso não sei se percebeu tudo. se nao percebeu alguma coisa diz :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Resposta Mauredo

 

Então o que você faz é utilizando movieclip correto? E o que eu estou tentando fazer é antes disso, é correr frames e aí sim executar uma função ou outra por isso não consegui adaptar meu código ao seu, mas valeu pela dica gostei bastante.

 

 

Resposta Fonx

 

Eu consegui da forma que você fez mas pra isso tem que rolar de fazer entrada e saída para cada parte do site, ou seja, quero ir por link 1, tenho que fazer entrada e saida disso, quero ir por link 2 tenho que fazer entrada e saída disso... e por isso queria fazer diferente, tipo uma entrada e uma saida pro site todo entendeu, 5 frames de animação no inicio e 5 frames de animação no final da timeline toda e quando for apertado um botão ele vai automaticamente pra saida e depois de andar os 5 frames de animação vai pro frame que foi denominado pela variável usada no botão que eu apertei.

É isso que quero, facilitar em vez de fazer várias entradas e saídas fazer só uma pra todas.

 

Valeu pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, então façamos assim, digamos que eu tenho um MC que do frame 1 ao 10 eu faço uma transição de uma area transparente para uma area toda preta que cubra todo o seu site para preto, depois do frame 11 ao 20 faço o contrário, do preto para o 100% transparente, deixando seu site totalmente visivel de novo, uma animação bem simples ok?Agora neste MC no frame 1 coloco esta ação:stop();E neste mesmo MC no frame 11 coloco esta ação:_root.gotoAndStop(_root.destino);Vamos colocar como nome de instância para este MC de "transicao"Como no exemplo anterior, coloque os rótulos nos frames onde aparecem as páginas mas desta vez não vai precisar de animação. Já nos botões vamos fazer uma pequena alteração:// Botão de link para empresaon(Release){destino = "empresa";transicao.play();}// Botão de link para conteúdoon(Release){destino = "conteudo";transicao.play();}// Botão de link para contatoon(Release){destino = "contato";transicao.play();}Acho que agora vai...[ ]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Andréa, posta ai seu fla pra eu ver como ele esta que eu te explico como resolver, esse código teria que funcionar, só não vai se seu fla estiver diferente.

 

abraço,

 

Carneirinho

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.