Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá gente,
estou desenvolvendo um novo projeto e tenho tudo esquematizado para fazer isso:
[http://earthkeepers.timberland.com/
Ja tenho todo o cenario prontinho, as imagens em 3d estão dentro de um MOVIE CLIP, em sequencia de frames. Agora preciso fazer o seguinte. Ao movimentar o mouse em cima desta imagem para direita, mova alguns frames/frames para direita. Ao movimentar para a esquerda mova alguns para esquerda.
A logica seria o seguinte:
Tenho 100 frames. Se estou no meio da tela com o mouse(em relação ao X), mostra meu frame 50 e de acordo com o movimento para direita ou para a esquerda, vejo os outros frames.
Eu pensei em fazer desta forma. Se alguem tiver alguma outra idéia será bem vinda. Preciso ter uma luz, do que fazer para isso funcionar em as3(será integrado com o rezise deste mc).
Abraço e obrigado
Bahhh cara, muito legal essa solução... estava pensando em algo muito mais ninja! hehehehe
agora me diz uma coisa, e se fosse fazer um slider, exatamente como no exemplo!???? como seria para relaciona-lo com outro mc de drag???
abraço e muito obrigado!
>
Bahhh cara, muito legal essa solução... estava pensando em algo muito mais ninja! hehehehe
agora me diz uma coisa, e se fosse fazer um slider, exatamente como no exemplo!???? como seria para relaciona-lo com outro mc de drag???
abraço e muito obrigado!
Você só teria que mecher no cálculo do coeficiente. Dividiria a posição atual do "puxador" pela posição máxima. E, claro, habilitar o comportamento convencional de puxar e soltar no puxador.
Otimo...
vou tentar fazer isso, qualquer dúvida te chamo!
abraço e obrigado pela resposta!
Bruno, olha se tu consegue me ajudar...
adaptei o calculo do posicionamento ao slider, ficou bem bacana, ta tudo funcionando. Só tem uma coisa que não consegui fazer:
1 - Preciso que mesmo que o mouse não esteja em cima do mc de drag(bola), ele continue passando os frames do fundo. O que acontece hoje: o slider funciona direitinho, só que quando estou arrastando a bola de slider pela barra(com o mouse down) e tiro ela de cima do movie clip da bola, ele para de mexer na imagem do fundo, ou seja, sai da função.
Precisaria de um eventListener do seguinte tipo:
slider.bola.addEventListener(MouseEvent.MOUSE_MOVE and MOUSE_DOWN, movimentaImagem). HEHEHE, seria perfeito...
Dá uma olhada no codigo...
//crio o slider
var sui:SliderUI = new SliderUI(stage, "x", slider.barra, slider.bola, 10,10, 90);
//listener o drag da barra
slider.bola.addEventListener(MouseEvent.MOUSE_MOVE, movimentaImagem);
//começar automaticamente do posição do slider
fundo.gotoAndStop(Math.round(sui.percent * 100));
//função que tu me passou modificada, funcionando, menos quando tiro o foco do mc bola
function movimentaImagem(e:MouseEvent):void{
var coef:Number = sui.percent * 100 // define um coeficiente entre a posição do mouse e a largura da stage
fundo.gotoAndStop(Math.round(coef)); // aplica o coeficiente à quantidade total de frames da sua animação
}
to usando o SliderUI (Documentação).
Abraço
Gustavo
Ouça o evento Event.ENTER_FRAME da sua animação, redefinindo a posição do seu puxador.
cara, não consegui entender...
stage.addEventListener(MouseEvent.MOUSE_MOVE, stageMouseMoveHandler);
var globo:MovieClip; // globo seria o nome da instância do seu movieclip
globo.stop(); // pára a animação do seu movieclip, que, por padrão, seria iniciada
function stageMouseMoveHandler(e:MouseEvent):void
{
var coef:Number = e.stageX / stage.stageWidth; // define um coeficiente entre a posição do mouse e a largura da stage
globo.gotoAndStop(Math.round(coef * globo.totalFrames)); // aplica o coeficiente à quantidade total de frames da sua animação
}