Ir para conteúdo

POWERED BY:

Arquivado

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

bruno goulart

[Resolvido] Menu com submenu

Recommended Posts

Bom dia. Minha dúvida na verdade é simplesmente como seria o raciocínio lógico para se construir um submenu como usuário intermediário.

Com o pequeno conhecimento que tenho consigo fazer com que quando o mouse estiver em cima do menu (Gestão, por exemplo) que abrirá o submenu ele faça isso, porém, meu problema é quando se retira o mouse do mesmo. Quando abre-se o submenu eu não estou encontrando uma saída pra que ele desapareça quando se retira o mouse do menu Gestão.

 

Segue abaixo o meu código:

import mx.transitions.Tween;
 import mx.transitions.easing.*;
 subPGestao.setMask(mcMask);
 PGestao.onEnterFrame = function() {
	 if (back == true) {
		 PGestao.prevFrame();
	 }
 };
 PGestao.onRollOver = function() {
	 PGestao.play();
	 back = false;
	 sub = true;
	 var sTween:Tween = new Tween(subPGestao, "_y", Regular.easeOut, -50, 29, 0.5, true);
 };
 PGestao.onRollOut = function() {
	 back = true;
	 sub = false;
	 if (sub == false) {
		 var sTween:Tween = new Tween(subPGestao, "_y", Regular.easeOut, subPGestao._y, -50, 0.4, true);
	 }
 };
 subPGestao.onRollOver = function(){
	 sub = true;
 }
 subPGestao.onRollOut = function(){
	 sub = false;
 }
Sei que esse reciocínio de variável "sub" não está correto, mas foi a última coisa que me veio a cabeça a fazer.

 

Preciso entregar esse trabalho até meio-dia e isto está me agarrando...

 

Agradeço de já a compreensão e ajuda.

Bruno Goulart

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estive falando com o Bruno Goulart no msn. O seguinte script resolve o problema dele.

import mx.transitions.Tween;
import mx.transitions.easing.*;
subPGestao.setMask(maskPG);
subQSomos.setMask(maskQS);

var menus:Array = [[QSomos, subQSomos], [PGestao, subPGestao], [Swot]];
for(var i in menus){
	menus[i][0].id = i;
	menus[i][0].onRollOver = function(){
		this.backpg = false;
		if(this._currentframe == 1) this.play();
		if(menus[this.id][1] != undefined){
			descerMenu(menus[this.id][1]);
			this.onMouseMove = function(){
				if(!this.hitTest(_root._xmouse, _root._ymouse) and !menus[this.id][1].hitTest(_root._xmouse, _root._ymouse)){
					this.backpg = true;
					subirMenu(menus[this.id][1]);
					delete this.onMouseMove;
				}
			}
		}
	}
	if(menus[i][1] == undefined){
		menus[i][0].onRollOut = function(){
			this.backpg = true;
		}
	}
	
	menus[i][0].onEnterFrame = function() {
		if(this.backpg) this.prevFrame();
	}
}

function subirMenu(quem:MovieClip):Void {
	var sTween:Tween = new Tween(quem, "_y", Regular.easeOut, quem._y, -quem._height + 29, 0.5, true);
}
function descerMenu(quem:MovieClip):Void {
	var sTween:Tween = new Tween(quem, "_y", Regular.easeOut, quem._y, 29, 0.5, true);
}

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.