Ir para conteúdo

POWERED BY:

Arquivado

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

Newton

Como chamar determinado frame de determinada layer...

Recommended Posts

Olá

 

Estou com uma dúvida/problema aqui.

 

Criei uma apresentação com 6 botões, todos são do tipo buttons e estão estanciados e coloquei cada botão numa layer separada.

 

Agora gostaria de chamar os conteúdos de cada botão.

 

 

Estava tentando fazer mas não da certo...eu criei uma nova layer chamada conteúdo, e lá na frente dela, depois de todo o filme estar carregado comecei a criar os conteúdos, um conteúdo em cada frame, tipo, estão assim: o conteúdo 1 esta na layer conteúdo no frame 210, o conteúdo 2 esta na layer conteúdo no frame 211 ... e assim sucessivamente.

 

Eu tenho que ciar um action em cada botão para chamar esses conteúdos? Alguem pode me ajudar?

 

Estou usando a versão CS4 do Flash.

 

Sei que esta bem confuso isso ai galera, mas sou iniciante, to penando pra aprender as coisas aqui...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim precisa colocar uma action em cada botão... (eles não fazem ações sozinhas né? ia ser mto bom se fizessem...)

 

Utilize gotoAndStop(frame desejado) para enviar o swf para o frame desejado.

 

Para colocar ações nos botões ou você utiliza o metodo antigo

//Clique sobre o botão e adicione o código
on(press){
 _root.gotoAndStop(frame);
}

Ou você cria uma camada de actions

De uma instancia para cada botão indo nas propriedades dos botões e na parte de instance name dando um nome...

 

E faça o código assim no primeiro frame da camada actions:

instancia.onPress = function(){
 _root.gotoAndStop(frame);
}

Sugiro ver tutoriais no youtube para principiantes... tem varios lá interessantes.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Thiago de Oliveira Cruz

 

Tentei criar aqui da forma que você me explicou, mas não consegui ainda...

 

Da primeira forma:

 

//Clique sobre o botão e adicione o código
on(press){
 _root.gotoAndStop(frame);
}

Fiz da seguinte, no primeiro frame da layer onde esta o botão 01 (frame 160) coloquei o código desse jeito:

on(press){
 _root.gotoAndStop(211);

Ai deu um erro:

1087: Syntax error: extra characters found after end of program.

Da segunda forma criei uma layer chamada AS, no primeiro frame dessa layer (frame 1) coloquei o codigo desse jeito:

ajcn_btn.onPress = function(){
 gotoAndStop(211);
}

E também deu erro...

1119: Access of possibly undefined property onPress through a reference with static type flash.display:SimpleButton.
Warning: 1090: Migration issue: The onPress event handler is not triggered automatically by Flash Player at run time in ActionScript 3.0.  You must first register this handler for the event using addEventListener ( 'mouseDown', callback_handler).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boaaaaa rapaz você criou um Arquivo em AS 3

 

Para resolver o problema de migration troque o :

ajcn_btn.onPress = function(){
 gotoAndStop(211);
}

Para:

ajcn_btn.addEventListener(MouseEvent.CLICK, onClick);

function onClick(e:Event):void {
 gotoAndStop(211);
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, acho que esta quase dando certo hehehe

 

Seguinte, na layer AS estava dando o seguinte erro:

TypeError: Error #1009: Não é possível acessar uma propriedade ou um método de uma referência de objeto nula.
	at Untitled_fla::MainTimeline/frame1()

Ai coloquei o AS no frame 160, que é onde esta o botão, ai deu certo, não deu erro, mas quando acabou a animação e cliquei no botão nada aconteceu...não carregou o frame 211.

 

Deixa eu explicar mais ou menos como é minha animação, pode ser algo que fiz errado...

 

Quando tudo começa, carrega o logo de alfa 0 para 100, ai ele diminui e sobe para o canto esquerdo da tela. E enquanto o logo abre, duas linhas uma em cima e uma embaixo do palco lambem vão aparecendo.

 

Quando o logo e as linhas acabam de aparecer, os menus começam a aparecer, um a um deslizando na tela, e quando o ultimo meu aparece eu paro a animação, no ultimo frame do ultimo menu dou um stop().

 

Ai na layer acima, conteudo, no frame 211 crieu um keyframe e lá coloquei um texto exemplo.

 

Será que é nesse stop() que esta o problema? Ela esta parando a animação impedindo que o botão tenha ação?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom então vou lhe dizer o seguinte

 

As ações valem para os botões, se colocar no frame que ele tá até o frame que ele termina...

Por isso se usa uma camada de action script com linha até o final colocando as ações todas nessa area...

 

Se você colocar um blank frame na camada de actions todas as actions que vinham sendo executadas até o blank frame param de ser executadas... e só vai executar as proximas dali em diante.

 

 

Então pelo que to vendo e a confusão que é provavelmente esse teu arquivo, em cada camada de botão, coloque no frame a ação para aquele botão

Assim a ação vai seguir o botão onde ele começa até onde ele termina.

 

Da uma visitada no youtube como lhe disse para que você estude como fazer coisas basicas no flash.

Sem um basicão vai fica complicado :) de tu sair fazendo as coisas.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se é o último frame você tem que dar o stop mesmo senao vai ficar repetindo. Se não for o último você nao precisa dar stop pra para a animação basta terminar a animação mudar pra outra layer e continuar seu projeto.

 

Verifique o fluxo é bem provável que seu fluxo esteja bugando seu code.

 

Abs

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.