Jump to content


Photo

Movieclip Mover De Acordo Com O Mouse Posicao X


  • Faça o login para participar
1 reply to this topic

#1 dekahell

dekahell

    Novato no fórum

  • Usuários
  • 2 posts
  • Sexo:Feminino
  • Localidade:Caxias do Sul

Posted 23/08/2011, 11:27

Pessoal, estou com um problema, estava procurando uma animação para mover o movieclip de acordo com o mouse, na horizontal, posiçao X.

Tenho uma espaço de 960x130. E o meu clipe é do tamanho de 3280px. Ja que ele é cheio de botões animados.

O que eu queria era que quando mover o mouse pra direita o clipe vá para a direita, e quando mover para a esquerda, o mesmo vá para a esquerda, parando um pouco a animação quando passar por cima dos botões.

Achei um código na internet e ele faz isso, funciona perfeitamente, só que, o meu problema é delimitar o tamanho e a hora dele parar. Porque ele vai por todo o clipe e continua andando, eu queria que quando chegasse no começo dele, ou no final, no primeiro e ultimo botão respectivamente, animação parasse de andar para aquele lado. O que nao acontece deixando a tela em branco.

O código que eu tenho é o seguinte:

function comeca()
{
_root.onEnterFrame = function ()
{
var _loc1 = 20;
mousePos = _xmouse - Stage.width / 2;
velocidade = mousePos / _loc1;
if (mousePos < 0)
{
if (m1_mc._x >= 0)
{
m2_mc._x = m1_mc._x - m1_mc._width;
} // end if
if (m2_mc._x >= 0)
{
m1_mc._x = m2_mc._x - m1_mc._width;
} // end if
} // end if
if (mousePos > 0)
{
if (m1_mc._x <= 0)
{
m2_mc._x = m1_mc._x + m1_mc._width;
} // end if
if (m2_mc._x <= 0)
{
m1_mc._x = m2_mc._x + m1_mc._width;
} // end if
} // end if
m1_mc._x = m1_mc._x - velocidade;
m2_mc._x = m2_mc._x - velocidade;
};
} // End of the function
comeca();
expo1.onRelease = function ()
{
meuX = m1_mc.inexpo1._x;
var _loc2 = new mx.transitions.Tween(_root.m1_mc, "_x", mx.transitions.easing.Regular.easeOut, _root.m1_mc._x, 256 - meuX, 1, true);
delete _root.onEnterFrame;
setTimeout(_root.comeca, 3000);
};
expo2.onRelease = function ()
{
meuX = m1_mc.inexpo2._x;
var _loc2 = new mx.transitions.Tween(_root.m1_mc, "_x", mx.transitions.easing.Regular.easeOut, _root.m1_mc._x, 256 - meuX, 1, true);
delete _root.onEnterFrame;
setTimeout(_root.comeca, 3000);
};


Onde m1_mc é o meu movieclip. Como não entendo lá grandes coisas de AS, nao sei exatamente o que é esse m2_mc. Sera que pode ser ali que está o meu problema?

Se alguém conseguir me ajudar, agradeço muitooooo, pq ja procurei muitos códigos assim e nenhum deles ajuda. Hehe. Ou se alguem tiver algum outro que funcione assim, agradeço tambemm..

Obrigadaaa!

Niguem sabe como faz?

Eu só precisaria que ele parasse, ele nao para quando chega ao final da lista de botoes que contem no movie.

#2 junior.c.e

junior.c.e

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:Londrina

Posted 20/02/2012, 23:30

Tenta colocar este codgo direto no mc que deseja o efeito.
onClipEvent (enterFrame) {
	XXX = _root._xmouse;
	moveX = (-XXX/7+36+154/2-_x)/20;
	if (Math.abs(moveX)>0.1) {
		_x += moveX;
	}
}





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq