Ir para conteúdo

POWERED BY:

Arquivado

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

webpaulinho

[Resolvido] Menu com efeito diferente

Recommended Posts

Caros amigos do Imasters, gostaria de fazer um botão onde ao passar o mouse em cima, o objeto que dá destaque na seçao do menu que está aberta sai e vai em cima da seção que o mouse está em cima. Não quero fazer com Motion Teen, frame a frame, pois a animação fica muito dura, assim ela fica mais suave.

 

O SWF abaixo mostra mais ou menos o que eu quero porém o botão acaba andando junto com o objeto, é possivel utilizando o mesmo código porém o botão estar no palco principal para ele ficar parado no lugar, segue abaixo o que estou usando, tentei adaptar o código utilizado pelo Carnerinho no tutorial dele no MXstudio de cortina deslizante.

 

Segue abaixo o que tenho:

 

SWF

 

Código do palco principal

function movermc(mc)
{
if (_root.mc_ativo == Falso)
{
novoX = mc.originalX;
}
else if (mc == _root.mc_ativo || mc._x < _root.mc_ativo._x)
{
novoX = mc.abertoX;
}
distanciaX = novoX - mc._x;
mc._x = mc._x + distanciaX / _root.velocidade;
} 
mc_ativo = Falso;
velocidade = 6;

Código do Movieclip cinza

onClipEvent (load)
{
originalX = this._x;
abertoX = 91;
}
onClipEvent (enterFrame)
{
_root.movermc(this);
}

Código do botão

on (rollOut)
{
_root.mc_ativo = Falso;
}
on (rollOver)
{
_root.mc_ativo = this;
}

Alguém aí consegue me dar uma dica.

Só lembrando q usei esse código para conseguir mostrar mais ou menos o efeito q kero.

 

Valeu galera.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você pode fazer é fazer com que o mc se mova mas da maneira através de instancia e não com o on(rollOver)

 

A sua ideia ta proxima do que você quer, mas o ponto é você deve fazer o mc ficar atrás do mc principal.

Então você tem que ao fazer o mouse Over

botao.onRollOver = function() { mc_background._x = botao._x}
Você pode fazer isso com um tween Imagem Postada

 

Assim ele vai andar da maneira que você quer... Mas você precisa se lembrar que o objeto que você criar como botão NECESSARIAMENTE precisa ter o ponto x dele no centro. Em outras palavras na hora de criar o botão com F8 você tem o quadradinho com 9 pontos escolha o ponto central para que faça esse efeito com sucesso.

 

 

Ai usando a classe tween por exemplo você teria que ao fazer o rollOver faça algo assim:

botao.onRollOve = function (){ var tween:Tween = new Tween(this, "_x", Linear.easeIn, mc_background._x, this._x, 3, true);}
E ai você vai fazer o botão andar com sucesso.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu consegui usar a Classe Tween, já tinha conseguido, mas desta forma que você passou o código ficará mais limpo e concentrado num lugar só. Valeu.

 

Problema resolvido.

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.