Ir para conteúdo

POWERED BY:

Arquivado

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

vitor nogueira

Voltar objeto ao local inicial

Recommended Posts

Olá , precisava de uma ajuda sobre como fazer um obejto voltar ao local inicial dele.

Mais ou menos assim: fazer com que ele se mova quando passar o mouse por uma área limitada e quando o tirar o mouse o objeto voltar a posição inicial.

Fazer o objeto movimentar-se por uma área delimitada já consegui, aqui o código:

 

onClipEvent (load) {
	var lockcenter = false;
	var left = 50;
	var top = 150;
	var right = 50;
	var bottom = 170;
}
on (rollOver) {
	startDrag("_root.quadrado", false, 50, 150, 100, 200);
}
on (rollOut) {
	stopDrag();
}

Agora queria q ele voltasse a posição inicial, ( e se possível com um efeito de elasticidade , rs' )

Já pesquisei muito sobre isso, mas ainda não achei o que eu quero, estou começando agora em flash =/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu pensaria em criar um função para o evento de mouse_out/roll_out.

 

O Flash CS4 traz algumas opções prontas e também permite customizar o easing pelo Motion Editor.

 

Fora isso, vale pesquisar pelo uso de alguma Tween.

 

 

aBS

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem três design patterns GoF para essa situação:

 

Memento para gravar um snapshot do objeto antes da movimentação, permitindo que se tenha a posição original do objeto.

Command para fazer a movimentação e o retorno à posição inicial.

Mediator para fazer com que a movimentação seja feita apenas em uma área pré-determinada.

 

Pesquise sobre cada um dos três e, se for o caso, posto um exemplo de como funciona.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que você pode fazer é um Tween de volta

 

Você pega a posição atual dele e volta ao inicio ;)

 

Assim:

on (rollOut) {
 stopDrag();
 	var tween_x:Tween = new Tween("_x", Linear.easeIn, this._x, posicao inicial x, 1000, true);
 	var tween_y:Tween = new Tween("_y", Linear.easeIn, this._y, posicao inicial y, 1000, true);
}

Abraços

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.