Ir para conteúdo

POWERED BY:

Arquivado

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

marinapensamentos

gotoAndStop

Recommended Posts

Boa noite, pessoal

Estou um pouco desesperada com uma animação. Acabei de migrar para o Action Script 3.0 e estou com umas dúvidas.

 

Fiz 2 movieclips que servirão de botão de PRÓXIMO e ANTERIOR. Preferi fazer em MovieClip para eu poder já colocar os efeitos via AS3.

O efeito de clique que pensei, faria simplesmente mudar os textos que estão em uma mesma camada e cada texto em cada frame (um após o outro).

Porém, ao tentar fazer os botões mudarem de texto não consegui. Travei no gotoAndStop... Seguinte, quando criei o evento CLIQUE fiz um switch para o botão ativo:

Eu utilizei um código que usei para fazer um menu principal em outra animação. Achei que funcionaria, mas está me deixando louca hahahah.

obs.: Quando utilizo o número de frame no gotoAndStop (frame), ele muda para um outro, geralmente para o último e não o próximo. Tentei usar FOR, mas não consegui.

stop();

var ativo:Object=bt21;


  for(i=20;i<=21;i++){
	 this["bt"+20].addEventListener(MouseEvent.MOUSE_OVER, over11);
	 this["bt"+20].addEventListener(MouseEvent.MOUSE_OUT, out11);
	 this["bt"+20].addEventListener(MouseEvent.CLICK, clique11);
  }

bt20.gotoAndPlay(nextFrame);
bt21.gotoAndStop(1);

function over11(evt:MouseEvent):void {
evt.currentTarget.gotoAndPlay("over");
}
function out11(evt:MouseEvent):void {
evt.currentTarget.gotoAndPlay("out");
}
function clique11(evt:MouseEvent):void {
// Ativando o Botão que estava inativo
ativo.addEventListener(MouseEvent.MOUSE_OVER, over11);
ativo.addEventListener(MouseEvent.MOUSE_OUT, out11);
ativo.addEventListener(MouseEvent.CLICK, clique11);
ativo.gotoAndStop(1);
//O botão que foi clicado para ser o botão inativo
ativo=evt.currentTarget;
ativo.removeEventListener(MouseEvent.MOUSE_OVER, over11);
ativo.removeEventListener(MouseEvent.MOUSE_OUT, out11);
ativo.removeEventListener(MouseEvent.CLICK, clique11);
switch(ativo){
    	case (bt20):
		gotoAndStop (nextFrame); 
			break;
	case (bt21):
		gotoAndStop (prevFrame);
			break;
}
}

 

 

 

Socorro! rsrsrs

Desde já, grata.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa. Eu tentei esses aí, mas não deu certo. :(

mesmo assim eu agradeço.

Eu consegui criando uma nova variável n... eu estava errando no incremento. Como deu certo sem a maioria do código antigo deixei assim e está funcionando:

 

import fl.transitions.Tween;
import fl.transitions.easing.*;

stop();
var n:int;
n=1;

prox.addEventListener(MouseEvent.MOUSE_UP,function():void 
{
    n=n+1;
 gotoAndStop(n);
}
);

anterior.addEventListener(MouseEvent.MOUSE_UP,function():void 
{
    if(n>1)
 {
 n=n-1;
 gotoAndStop(n);
 }
}	
);

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.