..:: MX Studio Fóruns ::..: Mouse Over & Mouse Out [RESOLVIDO] - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Mouse Over & Mouse Out [RESOLVIDO] AS3

#1 User is offline   Naty 

  • Group: Membros
  • Posts: 59
  • Joined: 22-September 06

Posted 04 November 2011 - 05:18 PM

Olá, pessoal....

Tenho um dúvida que já revirei o PAI Google e este forum e não encontrei nada que me ajudasse a resolver...
Estou tentando fazer um menu com submenu, este submenu é ativo com MouseOver e MouseOut.
Porém quando utilizo o MouseOut não consegui acessar os bts que estão no submenu, pois ele logicamente desaparece pois esta sendo chamada a função MouseOut.

Minha dúvida é onde ao certo devo colocar o MouseOut, pois se eu colocar no bt_empresa logicamente ele não ficará acessível.

Abaixo segue partes do meu código:

function vaiHome (evt:Object) {
	addChildAt(conteiner1, 4)
	//
	conteiner1.addChild(bt_home)
	bt_home.x = 28
	bt_home.y = 139
	animaTween = new Tween(bt_home, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_home.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiEmpresa)
	bt_home.addEventListener(MouseEvent.CLICK, clicou)
}
function vaiEmpresa (evt:TweenEvent) {
	conteiner1.addChild(bt_empresa)
	bt_empresa.x = 150
	bt_empresa.y = 139
	animaTween = new Tween(bt_empresa, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_empresa.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiAtuacao)
	//
	bt_empresa.addEventListener(MouseEvent.CLICK, clicou)
	bt_empresa.addEventListener(MouseEvent.MOUSE_OVER, overEmp)
	bt_empresa.addEventListener(MouseEvent.MOUSE_OUT, outEmp)
}
function vaiAtuacao (evt:TweenEvent) {
	conteiner1.addChild(bt_atuacao)
	bt_atuacao.x = 316
	bt_atuacao.y = 139
	animaTween = new Tween(bt_atuacao, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_atuacao.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiObras)
	bt_atuacao.addEventListener(MouseEvent.CLICK, clicou)
}
function vaiObras (evt:TweenEvent) {
	conteiner1.addChild(bt_obras)
	bt_obras.x = 541
	bt_obras.y = 139
	animaTween = new Tween(bt_obras, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_obras.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiClientes)
	bt_obras.addEventListener(MouseEvent.CLICK, clicou)
}
function vaiClientes (evt:TweenEvent) {
	conteiner1.addChild(bt_clientes)
	bt_clientes.x = 665
	bt_clientes.y = 139
	animaTween = new Tween(bt_clientes, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_clientes.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiContato)
	bt_clientes.addEventListener(MouseEvent.CLICK, clicou)
}
function vaiContato (evt:TweenEvent) {
	conteiner1.addChild(bt_contato)
	bt_contato.x = 808
	bt_contato.y = 144
	animaTween = new Tween(bt_contato, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	bt_contato.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiTexto)
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiFoto1)
	bt_contato.addEventListener(MouseEvent.CLICK, clicou)
}
// CHAMA A ANIMAÇÃO DO SUBMENU
function overEmp (evt:MouseEvent) {
	conteiner1.addChild(fundo)
	fundo.x = 113
	fundo.y = 180
	fundo.width = 164
	fundo.height = 165
	animaTween = new Tween(fundo, "height", Regular.easeOut, 0, 165, 0.1, true);
	animaTween = new Tween(fundo, "alpha", Strong.easeOut, 0, 1, 0.1, true);
	antiGC.push(animaTween);
	fundo.meuTween = animaTween
	//
	animaTween.addEventListener(TweenEvent.MOTION_FINISH, vaiEmpresa2)
}
// CHAMA O TEXTO E BTS DO SUBMENU
function vaiEmpresa2 (evt:TweenEvent) {
	conteiner1.addChild(mc_empresa)
	mc_empresa.x = 115
	mc_empresa.y = 190
	animaTween = new Tween(mc_empresa, "alpha", Strong.easeOut, 0, 1, 0.5, true);
	antiGC.push(animaTween);
	mc_empresa.meuTween = animaTween
	//
	mc_empresa.buttonMode = true
	mc_empresa.useHandCursor = true
	//
	mc_empresa.addEventListener(MouseEvent.CLICK, clicou)
}
// RECOLHE O SUBMENU
function out (evt:MouseEvent) {
	if(mc_empresa) if(mc_empresa.parent) mc_empresa.parent.removeChild(mc_empresa)
	//
	animaTween = new Tween(fundo, "height", Regular.easeOut, 165, 0, 0.1, true);
	animaTween = new Tween(fundo, "alpha", Strong.easeOut, 1, 0, 0.1, true);
	antiGC.push(animaTween);
	fundo.meuTween = animaTween
}

0

#2 User is offline   Naty 

  • Group: Membros
  • Posts: 59
  • Joined: 22-September 06

Posted 05 December 2011 - 03:46 PM

Poxa gente niguém pode me ajudar ??

Bom quebrando a cabeça consegui chegar neste lógica...

function over (evt:MouseEvent) {	
	if (evt.target == bt_empresa) {
		conteiner2.addChild(mc_empresa)
		mc_empresa.x = 113
		mc_empresa.y = 180
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 0, 164, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_empresa.visible = true
		mc_empresa.buttonMode = true
		mc_empresa.useHandCursor = true
		//
		mc_empresa.addEventListener(MouseEvent.CLICK, clicou)
		mc_empresa.addEventListener(MouseEvent.MOUSE_OUT, out)
	}
	
	if (evt.target == bt_atuacao) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.MOUSE_OUT, out)
	} 	
	
	if (evt.target == bt_obras) {
		conteiner2.addChild(mc_obras)
		mc_obras.x = 503
		mc_obras.y = 180
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 0, 77, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_obras.visible = true
		mc_obras.buttonMode = true
		mc_obras.useHandCursor = true
		//
		mc_obras.addEventListener(MouseEvent.CLICK, clicou)
		mc_obras.addEventListener(MouseEvent.MOUSE_OUT, out)
	} 	
	
	if (evt.target == bt_home && mc_empresa.visible == true ) {
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
	}
	
	if (evt.target == bt_empresa && mc_atuacao.visible == true) {
		conteiner2.addChild(mc_empresa)
		mc_empresa.x = 113
		mc_empresa.y = 180
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 0, 164, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
		//
		mc_empresa.visible = true
		mc_empresa.buttonMode = true
		mc_empresa.useHandCursor = true
		//
		mc_empresa.addEventListener(MouseEvent.CLICK, clicou)
		mc_empresa.addEventListener(MouseEvent.MOUSE_OUT, out)
		//
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
	} 
	
	if (evt.target == bt_atuacao && mc_empresa.visible == true) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.MOUSE_OUT, out)
		//
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
	} 
	
	if (evt.target == bt_obras && mc_atuacao.visible == true) {
		conteiner2.addChild(mc_obras)
		mc_obras.x = 503
		mc_obras.y = 180
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 0, 77, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
		//
		mc_obras.visible = true
		mc_obras.buttonMode = true
		mc_obras.useHandCursor = true
		//
		mc_obras.addEventListener(MouseEvent.CLICK, clicou)
		mc_obras.addEventListener(MouseEvent.MOUSE_OUT, out)
		//
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
	} 
	
	if (evt.target == bt_atuacao && mc_obras.visible == true) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.MOUSE_OUT, out)
		//
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
	} 
	
	if (evt.target == bt_clientes && mc_obras.visible == true) {
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
	}
}
//
function out (evt:MouseEvent) {	
	if (evt.target.name == "btO3" ) {
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
	}
	if (evt.target.name == "btA4" ) {
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
	} 
	if (evt.target.name == "btE5" ) {
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
	}
}
//
function remove1 (evt:TweenEvent) {
	mc_empresa.visible = false
}
function remove2 (evt:TweenEvent) {
	mc_atuacao.visible = false
}
function remove3 (evt:TweenEvent) {
	mc_obras.visible = false
}


Porém ainda não esta perfeito preciso que qdo o mouse saia de cima dos mc_empresa, mc_atuacao e mc_obras ative a função out.
Só que se coloco para atiavr a função out no event dos próprios mc fica dando bugg pois não consegue clicar no mc ele já ativa a função out....

A questão é onde colocar para ativar a função out já tentei evt.target == stage mais não deu certo...

Me deem uma luz por favor !!!

Bjinhos
0

#3 User is offline   Naty 

  • Group: Membros
  • Posts: 59
  • Joined: 22-September 06

Posted 05 December 2011 - 04:41 PM

Bom o pessoal não respondeu meu tópico mais vou postar a solução, pois sei que há mta gente na net que talves tenha a mesma dúvida que eu !!

function over (evt:MouseEvent) {	
	if (evt.target == bt_empresa) {
		conteiner2.addChild(mc_empresa)
		mc_empresa.x = 113
		mc_empresa.y = 180
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 0, 164, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_empresa.visible = true
		mc_empresa.buttonMode = true
		mc_empresa.useHandCursor = true
		//
		mc_empresa.addEventListener(MouseEvent.CLICK, clicou)
		mc_empresa.addEventListener(MouseEvent.ROLL_OUT, out)
	}
	
	if (evt.target == bt_atuacao) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.ROLL_OUT, out)
	} 	
	
	if (evt.target == bt_obras) {
		conteiner2.addChild(mc_obras)
		mc_obras.x = 503
		mc_obras.y = 180
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 0, 77, 0.5, true);
		antiGC.push(animaTween);
		//
		mc_obras.visible = true
		mc_obras.buttonMode = true
		mc_obras.useHandCursor = true
		//
		mc_obras.addEventListener(MouseEvent.CLICK, clicou)
		mc_obras.addEventListener(MouseEvent.ROLL_OUT, out)
	} 	
	
	if (evt.target == bt_home && mc_empresa.visible == true ) {
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
	}
	
	if (evt.target == bt_empresa && mc_atuacao.visible == true) {
		conteiner2.addChild(mc_empresa)
		mc_empresa.x = 113
		mc_empresa.y = 180
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 0, 164, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
		//
		mc_empresa.visible = true
		mc_empresa.buttonMode = true
		mc_empresa.useHandCursor = true
		//
		mc_empresa.addEventListener(MouseEvent.CLICK, clicou)
		mc_empresa.addEventListener(MouseEvent.ROLL_OUT, out)
		//
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
	} 
	
	if (evt.target == bt_atuacao && mc_empresa.visible == true) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.ROLL_OUT, out)
		//
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
	} 
	
	if (evt.target == bt_obras && mc_atuacao.visible == true) {
		conteiner2.addChild(mc_obras)
		mc_obras.x = 503
		mc_obras.y = 180
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 0, 77, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
		//
		mc_obras.visible = true
		mc_obras.buttonMode = true
		mc_obras.useHandCursor = true
		//
		mc_obras.addEventListener(MouseEvent.CLICK, clicou)
		mc_obras.addEventListener(MouseEvent.ROLL_OUT, out)
		//
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
	} 
	
	if (evt.target == bt_atuacao && mc_obras.visible == true) {
		conteiner2.addChild(mc_atuacao)
		mc_atuacao.x = 277
		mc_atuacao.y = 180
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 0, 110, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
		//
		mc_atuacao.visible = true
		mc_atuacao.buttonMode = true
		mc_atuacao.useHandCursor = true
		//
		mc_atuacao.addEventListener(MouseEvent.CLICK, clicou)
		mc_atuacao.addEventListener(MouseEvent.ROLL_OUT, out)
		//
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
	} 
	
	if (evt.target == bt_clientes && mc_obras.visible == true) {
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
		antiGC.push(animaTween);
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
	}
}
//
function out (evt:MouseEvent) {	
	if (mc_obras.visible == true) {
		animaTween = new Tween(mc_obras, "height", Regular.easeOut, 77, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove3)
	}
	if (mc_atuacao.visible == true ) {
		animaTween = new Tween(mc_atuacao, "height", Regular.easeOut, 110, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove2)
	} 
	if (mc_empresa.visible == true ) {
		animaTween = new Tween(mc_empresa, "height", Regular.easeOut, 164, 0, 0.5, true);
		antiGC.push(animaTween);		
		animaTween.addEventListener(TweenEvent.MOTION_FINISH, remove1)
	}
}
//
function remove1 (evt:TweenEvent) {
	mc_empresa.visible = false
}
function remove2 (evt:TweenEvent) {
	mc_atuacao.visible = false
}
function remove3 (evt:TweenEvent) {
	mc_obras.visible = false
}


Qual foi a solução:
Alterar o addEventListener(MouseEvent.MOUSE_OUT, out) para addEventListener(MouseEvent.ROLL_OUT, out), com isso alterei a lógica da função out !! E resolvido !!!
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)