Ir para conteúdo

POWERED BY:

Arquivado

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

Eduardo Louzada

Embaçamento com onMouseMove

Recommended Posts

Oi a todos!

 

É possível que o código abaixo (que funciona) também funcione sem ser via STAGE? Eu preciso que o blur via onMouseMove acompanhe o ponto central do objeto e não do palco (stage). Alguém sabe como fazer? Desde já obrigado. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Código:

 

import flash.filters.*;

 

var Gaussian:BlurFilter = new BlurFilter(8, 8, 2);

 

var mouseListener:Object = new Object();

mouseListener.onMouseMove = function():Void {

Gaussian.blurX = Math.abs(_xmouse - (Stage.width / 2)) / Stage.width * 2 * 8;

Gaussian.blurY = Math.abs(_ymouse - (Stage.height / 2)) / Stage.height * 2 * 8;

quad.filters = [blur];

};

Mouse.addListener(mouseListener);

 

Ps: Já tentei mudar de Stage.width para _width ou quad._width, mas não funciona corretamente...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi pessoal... Já é o terceiro tópico que eu posto e, eu mesmo respondo...

 

No primeiro eu recebi uma ajuda de um amigo e umas dicas do Eder Fortunato daqui do fórum... Nos dois anteriores fucei e descobri como se fazia. Porém, para esta dúvida preciso de ajuda.

 

Alguém sabe como fazer?

 

É efeito é praticamente igual a este, só que preciso que o efeito se oriente NO OBJETO, não no STAGE:

http://imasters.com.br/artigo/4174/fla...de_embacamento/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, não sei se expliquei bem...

 

O que preciso é de um motion blur...

 

Lógica:

 

var btn_01:MovieClip;

var btn_02:MovieClip;

var btn_03:MovieClip;

 

Se o mouse estiver sobre o "btn_01", este fica nítido (blur = 0). Enquanto o "btn_02" fica com blur = 10 e "btn_03" fica com blur = 20.

Sim, a posição do mouse influencia o motion blur. Quanto mais distante do objeto maior o blur. Mais próximo menor o blur.

 

Porém, só dá para fazer isso se a "orientação" do blur for no objeto. E na web só acho a solução para motion blur no stage (palco).

 

Espero ter explanado bem... Fico no aguardo de algumas dicas...

Abraços!!! :P

Compartilhar este post


Link para o post
Compartilhar em outros sites

vou ajudar na sua lógica, ignore toda aquela lógica do código acima, você tem que pegar a distancia do mouse em relação ao botão, isso você consegue pela propriedade _xmouse e _ymouse,o problema é que se você mover o mouse a direita do botão (ou acima para o ymouse), o valor da propriedade é negativo, por isso você vai precisar da Math.abs(), só com essas duas, testa fazer que é facil

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xiii Eder (risos). Eu tô boiando... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

Eu ainda não compreendo bem como utilizar os operadores e, sou péssimo em matemática. Por isso é perda de tempo explanar o teorema de Pitágoras sem um exemplo (risos).

 

Com certeza o problema está no _xmouse, _ymouse e o Math.abs. Mas, eu não consegui construir nenhum código que funcionasse, pois eu não sei bem como fazer. Como disse, não compreendo bem os operadores...

 

Ex: blur.blurX = Math.abs(_xmouse - (Stage.width / 2)) / Stage.width * 2 * 8;

 

Neste código acima eu já fiz todo tipo de testes (na medida do meu conhecimento), e nada funciona se eu tirar a palavra Stage. Tipo, se eu deixar _width ao invés de Stage.width, o centro do Stage fica acima e à esquerda. Não entendo o porque... O Math.abs é um valor absoluto, ok. Mas, como faço com seus operadores? Me falta experiência para construir "do zero"... Como faço esta interação _xmouse e Math.abs? Tá um pouco difícil...

 

Eu já consegui sozinho resolver o problema de blur (estático). Com a ajuda de um moderador do MX Studio, compreendi melhor como fazer blur em transição. Agora o que eu gostaria mesmo que é fazer blur dinâmico, como o do tutorial que citei anteriormente, não consigo encontrar referências. Não dá para fazer um menu direcionado pelo Stage. Preciso via MC, mas ainda não consegui Eder...

 

Se puder me dar mais uma força... :rolleyes:

 

Abraço!

Louzada

Compartilhar este post


Link para o post
Compartilhar em outros sites

como eu disse, ignore esse código ai que você colocou em destaque, e use apenas a propriedade _xmouse e _ymouse

 

é ele que diz qual a distancia do mouse em relação ao ponto de registro do MC

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Eder, tudo bem,?

 

Consegui chegar a um código com a ajuda de sua lógica e com a ajuda de um colega do MXStudio. Sua lógica e a dele misturadas resultaram, após longos testes, neste código:

 

CODE
import flash.filters.*;

 

var blur:BlurFilter = new BlurFilter(8, 8, 3);

var mouseListener:Object = new Object();

 

quad_l = ((2 * quad._x + quad._width)/2)

quad_h = ((2 * quad._y + quad._height)/2)

 

mouseListener.onMouseMove = function():Void {

blur.blurX = Math.abs(_xmouse - quad_l)/ 20;

blur.blurY = Math.abs(_ymouse - quad_h)/ 20;

quad.filters = [blur];

};

Mouse.addListener(mouseListener);

 

Ps: Ainda tenho uma dificuldade incrível de construir códigos, mas com sua ajuda e de outros colegas, começo a compreender o funcionamento dos códigos AS.

 

Obrigado Eder!

 

Ah! Se precisar de ajuda com outros programas que não envolvam programação, mas sim design, é só dizer! Ainal, essa é a minha área.

 

Abraços,

Edu

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.