Ir para conteúdo

POWERED BY:

Arquivado

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

Sperle

[Resolvido] MC chamando outra cena!

Recommended Posts

Ja procurei no forum, já usei várias coisas e não está funcionando. Tenho um MC que quando passa o mouse em cima ele anima outro MC, e quando clicado deveria ir para a cena seguinte, mas não vai ... alguém me diz aonde está o erro no código abaixo:

 

on (release) {

gotoAndPlay("cena",1);

}

on (rollOver) {

_root.bt01.gotoAndPlay(2);

}

on (rollOut) {

_root.bt01.gotoAndPlay(11);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom deixa ver se eu entendi.

 

Você tem um botão

 

Que ao você colocar o mouse em cima dele ele vai e anima um clip

on(release){

gotoAndPlay("cena",1);

}

 

Correto

 

Então ele foi pra outra cena dentro do mesmo clip ele saiu do palco 1 e foi para o segundo palco!

Se isso aconteceu, você pode criar outro botão na cena que seria o segundo palco com a função de mudar o quadro...

 

Agora se você está criando um clip e quer mudar ele

por exemplo

on(release){

loadMovie("teste.swf","target");

gotoAndStop(1);

}

 

e você quer que dentro desse clip um botão de fora dele mexe nele

 

você cria o seguinte comando

on(rollOver){

tellTarget(/target){

gotoAndPlay(2);

}

}

on(rollOut){

tellTarget(/target){

gotoAndPlay(11);

}

}

 

Acho que é isso...

 

se você explicar melhor talvez eu saiba uma solução melhor rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionou aqui da seguinte forma:

eu apaguei o MC e criei um botão, colocando os mesmos comandos. Funcionou certinho.

 

Outra dúvida, estou querendo que em um determinado momento, eu clicando em um botão, o filme de play e depois de 10 frames por exemplo vá para outro local, mais ou menor assim:

 

Tenho 4 botões;

Estou no frame 50;

Cliquei no botão 01, o filme rola até o frame 60 e depois vai para outra cena 01;

Cliquei no botão 02, o filme rola até o frame 60 e depois vai para outra cena 02;

...

 

Tem como fazer isso de forma fácil?

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom vamos lá

 

você criou o filme ele começa no frame 60 e vai até o 120 por exemplo

 

no botão você vai colocar assim

on(release){

gotoAndPlay(60);

}

ele vai iniciar o filme no frame 60 assim

 

ai no frame 120

você clica nele

ou cria outra camada cria um frame vazio em cima do frame 120 e coloca assim

gotoAndStop("cena2",1);

 

e pronto ao atingir o frame 120 ele vai para o frame 1 da cena2

 

se você fizer isso com os outros tbm vai funcionar... e é só :)

 

Ajudei?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo bem, até ai eu tinha chegado ... o problema que existe uma condição:

 

. Se o usuário clicar no BOTAO 01, o filme vai até o frame 120, e nesse frame ele pula pra CENA 01.

 

. Se o usuário clicar no BOTAO 02, o filme vai até o frame 120, e nesse frame ele pula pra CENA 02.

 

. E assim por diante ...

 

Provavelmente vou ter que criar uma variável que, quando clicar no botão passar o valor pra essa variável, e no frame 120 colocar um gotoAndPlay("variavel",1). Não sei se isso existe em AS.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe sim.....

 

Esse tipo de codificação... mas não to vendo necessidade para isso

 

Explica ai que não compreendi

 

Os 4 botões estão no mesmo palco? cena0?

 

E os 4 botões cada um deles vai para um filme diferente que depois vai pra cenax? correspondente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Os 4 botões estão no mesmo palco, cena0, e cada um deles vai para uma cena diferente.

 

Na cena 0, todos os botões vão ter a ação de fazer o filme andar até o frame 120. Só que quando chegar lá, vai para a cena "x" de acordo com o botão clicado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então vamos lá

 

no primeiro frame você vai ter que indicar variaveis para fazer isso

 

exemplo:

No primeiro frame na camada Actions você vai colocar assim:

 

bt1 = off;

bt2 = off;

bt3 = off;

bt4 = off;

 

Ai nos botões você vai colocar assim:

Botão 1

on(press,release,rollOver){

bt1 = on;

gotoAndPlay(60); // aqui ele vai andar direto pro frame 60 que vai rolá até o 120 como tinha dito como ex em cima

}

botão 2

on(press,release,rollOver){

bt2 = on;

gotoAndPlay(60);

}

 

botão 3

on(press,release,rollOver){

bt3 = on;

gotoAndPlay(60);

}

 

botão 4

on(press,release,rollOver){

bt4 = on;

gotoAndPlay(60);

}

 

Ai lá no frame 120 você vai colocar assim

 

if(bt1==on){

gotoAndStop("cena1",1);

}

else if(bt2==on){

gotoAndStop("cena2",1);

}

else if(bt3==on){

gotoAndStop("cena3",1);

}

else if(bt4==on){

gotoAndStop("cena4",1);

}

 

Se não me engano seria assim ou algo parecido...

 

Espero ter ajudado

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Flash está retornando o seguinte erro na hora de gerar o swf:

 

. Primeiro:

 

on (release) {

bt2 = on;

gotoAndPlay(21);

}

 

Erro: Operator '=' must be followed by an operand

 

. Segundo:

 

if(bt1==on){

gotoAndPlay("Simples",10);

}

else if(bt2==on){

gotoAndPlay("Portfolio",10);

}

else if(bt3==on){

gotoAndPlay("Upload",10);

}

else if(bt4==on){

gotoAndPlay("Contato",10);

}

 

Erro: Operator '==' must be followed by an operand

 

Abs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pow cara te dei apenas um exemplo de mais ou menos como você deveria seguir rs...

 

Não era literalmente isso -.-

 

Bom vo te dar uma colher de chá

 

Segue o tutorial...

 

Favor seguir literalmente o que eu escrever...!

 

Crie 3 camadas

1 Actions

2 Motion (onde vai a animação)

3 Botões

 

Detalhe importante! O Código abaixo é em AS2 se você usar AS3 ignoreo por favor -.-

Na camada actions frame 1 você vai escrever o seguinte:

stop();

bt = 0;

bt_01.onRelease = function():Void{

gotoAndPlay(50);

bt = 1;

}

bt_02.onRelease = function():Void{

gotoAndPlay(50);

bt = 2;

}

bt_03.onRelease = function():Void{

gotoAndPlay(50);

bt = 3;

}

bt_04.onRelease = function():Void{

gotoAndPlay(50);

bt = 4;

}

 

na camada botões você vai desenhar 4 botões dar nome de botões e instancialos como

bt_01

bt_02

bt_03

bt_04

 

na camada motion você vai até o frame x (onde x é o frame da sua animação)

vai cria-la e tals na ultima linha da sua animação, você vai puxar da camada actions um frame em branco e vai colocar os seguinte comandos:

if(bt==1){

gotoAndStop("cena1",1);

}

else if(bt==2){

gotoAndStop("cena2",1);

}

else if(bt==3){

gotoAndStop("cena3",1);

}

else if(bt==4){

gotoAndStop("cena4",1);

}

 

E pronto você tem sua animação e com cada botão ele vai para uma scene diferente.

 

Se você mesmo assim não entender

Manda um e-mail para mim que te mando o exemplo por e-mail

 

Abraços

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.