• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

fcpedro99

3 BOTOES - ActionScript

14 mensagens neste tópico

É possivel ter, por exemplo, 3 botoes que clincando num qualquer nos mandam para o frame 200, executa determinada acçao de 10 frames, e no final, no frame 210 carrega o ficheiro X, Y, ou Z consoante o botao carregado anteriormente?

Deverá ser qualquer coisa relacionada com o "instance name" de cada botao, nao?

E depois qualquer coisa do genero "if (botao A) loadmovie(...)", nao?

Podem ajudar no codigo necessario para uma operaçao deste genero?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não percebi em parte a pergunta, o que queres é:

1) criar 3 movie clips;

2) em cada movieclip imbutir um botao;

3) ao carregar no botao(movieclip) a keyframe salta para a keyframe 200 da timeline e continua a correr;

4) qd chega à 210 carrega um ficheiro?

é simples, se for isso dps digo-te o código...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O que pretendo é ter 3 botoes.

Clico num qualquer e vou sempre para o frame 200.

Executa acçao de 10 frames. E de seguida, mediante o botao carregado, executa outra acçao.

O que nao sei fazer é essa parte de se saber QUAL o botao clicado antes. Para saber qual acçao executar no frame 210, no caso.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

no 1º frame crias uma variável que vai reter qual o botão que é pressionado e crias os handlers dos botoes

var statusBtn:String;
//tens de dar os respectivos instance names ao botões.
botao1.onRelease() = function():Void{
    gotoAndPlay(200);
    statusBtn = "botao1";
}

botao2.onRelease() = function():Void{
  gotoAndPlay(200);
  statusBtn = "botao2";
}

botao3.onRelease() = function():Void{
  gotoAndPlay(200);
  statusBtn = "botao3";
}

No frame 210:

//Usar um switch case
stop();

switch(statusBtn){
  case "botao1":
          //faz qq coisa
          break;
  case "botao2":
          //faz qq coisa
          break;
  case "botao3":
          //faz qq coisa
          break;
  default:
          //nenhum dos anteriores
          break;
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas yarcub!

Experimentei o codigo que disseste mas deu erros de compilaçao. Sao os seguintes:

 

Left side of assingnment operatormust be variable or property -->  botao1.onRelease() = function():Void{

isto para os 3 botoes. Sabes explicar o que está mal?

Obrigado pela ajuda.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Erro meu, sorry.

botao2.onRelease = function():Void{
(...)

Experimenta criar as funções assim:

botao2.onRelease = function(){

}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Resolvida a questao dos boteos...

Gostaria de saber como eu posso fazer para que um botao que tenho dentro de um MovieClip, retorne ao PALCO PRINCIAL(Scene 1).... em um determinado FRAME À minha escolha.

É possivel?

Obrigado mais uma vez

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não costumo trabalhar assim no flash, faço tudo em actionscript...

No entanto, experimenta usar a instrução attachMovie para anexar o movieClip + botao ao frame que pretendes...

Boa sorte  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas! Acho que nao me expressei bem.

O que quero é o seguinte:

Estou dentro de um movie clip. Tenho um botao la dentro. Clico nele e quero voltar ao palco principal (scene 1). Ou seja, quero qd clico quero sair do movie clip e executar determinada acção numa frame do palco principal (scene 1).

Obrigado mais uma vez

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá! Mesmo que estejas expressando bem, eu sou franco contigo não percebo bem que complicação é essa.

Procura desenvolver o teu código tornando as variáveis/funcoes/propriedades/movieclips/etc em globais e privadas pois assim os seus acesso são muito dinâmico, e claro não entras em complicações/dúvidas em querer voltar para o palco, ou sair do movieclip ou frame 1...

Procura conhecer as diferenças entre private, global, root, this, etc...

acho que te está a faltar esta componente teórica para não teres tantos problemas.

Espero que te ajude em alguma coisa. Abraço ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas! Acho que nao me expressei bem.

O que quero é o seguinte:

Estou dentro de um movie clip. Tenho um botao la dentro. Clico nele e quero voltar ao palco principal (scene 1). Ou seja, quero qd clico quero sair do movie clip e executar determinada acção numa frame do palco principal (scene 1).

Obrigado mais uma vez

Onde estás a colocar o código do botão?

Se estás a colocar na timeline do movieclip:

var ref:Object = _parent; //referencia que aponta para a timeline principal
botao.onRelease = function():Void{
   ref.gotoAndPlay(10); //neste caso vai para o frame 10
}

Ter o código espalhado pelos mais variados sítios esta muito longe de ser a solução ideal, e vais continuar a ter problemas do género. O ideal é ter apenas um frame e centralizar o código todo nesse frame.

Começa a pensar em deixar a timeline de lado e começar a fazer as animações através de AS, pelo menos no Stage.

Neste tópico deixei os links para algumas classes de tweening que nos facilitam a vida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora