DevSecOps

10 dez, 2007

Seguindo o Mouse

Publicidade

Olá pessoal, como vão?

Hoje estudaremos um recurso de desenvolvimento simples, porém muito útil em grandes projetos em Flash.

1º Passo:

Crie um novo filme e, no centro do palco, crie qualquer forma (no exemplo, utilizo a logomarca iMasters), selecione sua forma e, pressionando o botão F8, escolha a opção MovieClip

Com Esse processo, você está convertendo o seu objeto em MovieClip.

2º Passo:

Com o MovieClip selecionado, pressione o botão F9 (este procedimento irá abrir o painel de ações). Copie e cole as ações abaixo:


onClipEvent (load) {
	_x = 0;
	_y = 0;
	speed = 5;
}
onClipEvent (enterFrame) {
	endX = _root._xmouse;
	endY = _root._ymouse;
	_x += (endX-_x)/speed;
	_y += (endY-_y)/speed;
}

3: Passo:

Pronto, nosso efeito já está criado, agora iremos entender o código:


onClipEvent (load) {
	_x = 0;
	_y = 0;
	speed = 5;
}

Estamos informando ao Flash as cordenadas do nosso MovieClip, (x,y) que, estando nos valores “0”, se alinham no canto superior e esquerdo do seu filme. Em “Speed” estamos indicando a velocidade na resposta do movimento. Essa função é que irá definir o atraso do objeto ao seguir o mouse. Quanto mais alto o valor, mais atraso. Quando mais baixo, mais instantâneo é o movimento do MovieClip


onClipEvent (enterFrame) {
	endX = _root._xmouse;
	endY = _root._ymouse;
	_x += (endX-_x)/speed;
	_y += (endY-_y)/speed;
}

onClipEvent (enterFrame) – Esta indicando ao flash que o efeito esta acontecendo[/cor4]

endX = _root._xmouse;

endY = _root._ymouse;

Estamos indicando o trajeto final do MovieClip, que são os mesmos pontos cardinais do seu cursor do mouse

_x += (endX-_x)/speed;

_y += (endY-_y)/speed;

Agora estamos buscando a localização do MovieClip e dividindo seu movimento pela Speed criada anteriormente. É essa função que vai causar o movimento inicialmente desacelerado e irá seguir o mouse com um certo delay de tempo.

Abaixo o link da versão final para download:

Versão Final

Pronto pessoal, um efeito rápido de criar, simples de desenvolver, mas que pode agregar um valor de design a mais ao seu projeto.

Um grande abraço!