Ir para conteúdo

POWERED BY:

Arquivado

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

Recommended Posts

Boa dia pessoal!!

 

Seguinte, tenho um menu em flash, como mostra o codigo abaixo:

 

var menus = [menu_fotos, this.menu_videos, this.menu_pod, this.menu_evento, this.menu_prog, this.menu_form, this.menu_reg];

for (var i=0; i<menus.length; i++) {
	
	menus[i].onRelease = function() {
		_root.gotoAndStop(this._name);
			
	}
};

Isto é, tem a lista nos menus na Array (menu_fotos, menu_videos, etc...).. e isso esta funcionando tudo ok...

 

A questão é a seguinte, eu gostaria de fazer com que sempr que eu clicar em um botão deste menu, todos que forem os seguintes dele, vão para baixo e os acima vão para posição inicial deles, por exemplo:

 

a ordem é : menu_fotos, menu_videos, menu_pod, menu_evento, menu_prog, menu_form, menu_reg

 

se eu clicar no menu_pod que é o 3º da lista, os seguintes que são os evento, prog, form e o reg executem a função de ir para baixo e os antes dele que são os videos e fotos executem a função de ir para a posição inicial.. se eu clicar no menu_reg, por exemplo, nenhum vai para baixo, pois ele é o ultimo e todos que estão antes dele vao para posição inicial.

 

A função de ir para baixo e ir para posição inicial eu até sei fazer, o problema é como fazer a condição que sempre que eu clicar em um botão do menu, ele entenda que os seguintes, executem a ação...

 

 

 

se alguem conseguir me ajudar, eu agradeço!!!

 

abrãção a todos!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie um id pra cada um que será o equivalente a ordem dele no array, por exemplo:

 

 

for (var i=0; i<menus.length; i++) {
	menus[i].valor = i;
	menus[i].onRelease = function() {
		_root.clicar(this.valor);
		_root.gotoAndStop(this._name);
			
	}
};

na função passe esse parametro valor de cada movieclip para ver se é maior ou menor que o clicado para executar, eis a função de exemplo.

 

função clicar criada no _root:

 

function clicar(numero){
 for (var i=0; i<menus.length; i++) {
  if(i <= numero){
  trace("desce");
} else {
   trace("sobe");
}
}
}

veja se é isso que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie um id pra cada um que será o equivalente a ordem dele no array, por exemplo:

 

 

for (var i=0; i<menus.length; i++) {
	menus[i].valor = i;
	menus[i].onRelease = function() {
		_root.clicar(this.valor);
		_root.gotoAndStop(this._name);
			
	}
};

na função passe esse parametro valor de cada movieclip para ver se é maior ou menor que o clicado para executar, eis a função de exemplo.

 

função clicar criada no _root:

 

function clicar(numero){
 for (var i=0; i<menus.length; i++) {
  if(i <= numero){
  trace("desce");
} else {
   trace("sobe");
}
}
}

veja se é isso que você precisa.

 

legal acho que eh exatamente isso... você poderia comentar as linhas dos codigos que você criou acima, isso iria me ajudar a entender....

por exemplo, eu queria que quando clicar em um botao, como o 3 por exemplo, ele pegue todos os maiores que o 3, e execute a acao "ySlideTo(this._y = 10)"

 

 

 

mmuioto obrigado

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.