Ir para conteúdo

POWERED BY:

Arquivado

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

Thiago Paschoalin

Scroll entre frames

Recommended Posts

Fala galera, faz muito tempo, mas muito tempo mesmo que não trabalho com flash, e recebi um desafio, fazer um scroll para rotacional uma imagem em 360°

 

COmo funciona?

Tenho 72 fotos de um produto, cada uma com 5°graus de diferença, totalizando uma rotação de 360°graus, bom eu preciso fazer um scroll onde eu navego entre esses 72 frames.

 

Como está o .fla: Fiz um movieclip e dentro dele 72 frames, cada um com uma foto.... agora no root, preciso fazer o scroll para 'dar um play()' neste movie, onde posso avanças ou retroceder a vontade, entre os frames do meu movie somente deslizando meu scroll !

 

 

Alguém poderia me dar uma força ?

 

Grato desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

crie uma função com 2 botões 1 de vai e outro de volta

 

E aplique um nextFrame, e prevFrame... existem alguns bons exemplos sobre isso no www.pontoflash.com.br

 

E tem esse aquivo aqui q eu fiz a um tempo atrás para um cara com um problema nada a ver com esse... e ao mesmo tempo tudo a ver pois se trata do mesmo código.

 

vai.onPress = function(){
prox();
}
volta.onPress = function(){
ant();
}

function ant(){
clearInterval(tempo);
tempo = setInterval(intervalo, 84);
function intervalo(){
prevFrame();
}
}

function prox(){
clearInterval(tempo);
tempo = setInterval(intervalo, 84);
function intervalo(){
nextFrame();
}
}

Basicamente esse código ai

 

O arquivo

Link

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou tentando adaptar este código para o que eu preciso, mas não estou conseguindo juntar isso berseck...

 

Pq tipo, as imagens não irão passar uma do lado da outra, e sim uma por cima da outra, é uma bateria de fotos com rotação 360°, dê uma olhada neste link CLIQUE AQUI, escolha no menu a esquerda o 360.

 

Eu preciso fazer exatamente isso... imagino que a dell fez isso pelo 3DS, mas é isso ai que preciso, uma barra horizontal com um quadradinho que tenha DRAG() para deslizar e conforme desliza, o produto gira ( vai trocando o frame para dar a impressão de giro com a sequencia de imagens. )

 

Help ai !!! Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ué cara basta vocÊ coloca cada frame 1 imagem......

 

No meu exemplo eu crio um tween... mas da muito bem para colocar varias imagens.

 

E coloca um onMouseUp da clear interval e onMouseDown liga o intervalo pro lado que você quer...

 

Não tem mistério

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

desculpa berseck, mas sou horrivel em actionscript.... você pode me dar uma mão ?

 

Tipo, eu criei um botão, que é deslizando horizontalmente, este botão tem o nome de instancia 'bola', e com o action:

on (press) { startDrag(_root.bola, true, 25, 188, 175, 188); }
on (release) { stopDrag(); }

tendo este movimento:  --O------------

Agora como eu junto este drag com seu action ?

vendo acima, o drag anda somente em eixo X, do ponto 25 até o ponto 175 (que ponto 25 mostra o primeiro frame e 175 mostrará o ultimo frame.

 

Dá uma mão por favor, sou hoirrivel mesmo... hehehehe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom ai você ta tendo problema é com o drag :)

 

Não é mais com o total moviemento rs

 

Você vai ter que fazer um calculo de numero total de frames no caso 72

 

Então 72 = 100% do sua bolinha

Então você vai ter que fazer cada 1% que ela andar vai mover 1% da imagem +/- isso

então vai ter que ver o calculo de quanto que é o tamanho do percurso da sua bolinha

 

Que deve ser

Tamanho da linha - metade do tamanho da bolinha se o ponto mediano dela do 0x0 for o centro.

 

Ai se vai fazer o calculo:

stop();

var inic = scroller._x;

onEnterFrame = function(){
	frame_atual.text = _currentframe;
	anda();
}

function anda(){
	var scroll_inicial = scroller._x - inic;
	var scroll_final = barra._width;
	var total_scroll = Math.round((scroll_inicial/scroll_final)*100);
	valor = Math.round((_totalframes/100)*total_scroll);
	gotoAndStop(valor);
}

scroller.onMouseDown = function(){
	startDrag(this, true, inic, barra._y, barra._width + inic, barra._y);
}

scroller.onMouseUp = function(){
	stopDrag();
}

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

HAAAAA GAROTO !!!!!! firmeza total !

 

Mas agora tem um pequeno problema, conforme eu vou girando o pc, vai bugando as posições, o que pode ser isso ?

Dá uma olhada no teste rodando....

Dá uma brincada de ficar girando para lá e para cá, umas rapidinho, as vezes quando volta para o inicio ou para o fim, some algumas imagens da sequencia.....

 

Giro 360

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui não sumiu não...

 

Deve ser problema do fps ai da sua placa de video talvez...

 

Isso é um grande problema quando se trata de trabalhar para o publico..... pois não é todo mundo que tem placa de video boa... a maioria em suma tem video onboard que é mais barato e normalmente já vem nesse computadores prontos que se compra da dell etc...

 

E que são umas porcarias por sinal...

 

Outra coisa esse tipo de problema também se deve a velocidade na qual você vai fazer a rotação =( então é complicado deixar que o cliente use um drag nesse caso... aconselho melhor só permitir a través de setas... seguro a seta ele vai andando... pra um lado ou para o outro como no código lá de cima.

 

Deixar o publico brincar com algumas coisas as vezes da problema de bug... do flash mesmo e não é muito fácil de reparar... e alguns bugs simplesmente não tem concerto :)

 

Como o do rollOver rollOut muito rapido de algum botão que faça movimento.... 90% das vezes buga quando se coloca esse efeito... e o jeito para arrumar isso é com um código mais complexo de hitTest para saber se o mouse está sobre o botão fazendo ele voltar....

 

Esse é um exemplo de bug q ocorre e o seu é outro ;)

 

Se vale de conselho faça lá a primeira opção que lhe dei e esquece o drag

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

berseck, obrigado pela explicação.... realmente acho que sou seguir seu conselho, mas como o cliente pediu drag, eu vou mostrar como ficou.

 

Monto as duas formas e ele escolhe !

 

Sobre placa de vídeo, só se a minha está bixada, pois é um ATI Radeon X1650 Pro 256Mb, e em relações a jogos como GTA, NeedFS, rodam legal !

Mas tá perfeito !

 

Dúvida esclarecida !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas foi como eu falei :P

 

Talvez...... nada de certeza rs ^^

 

O flash as vezes causa bugs em placas de 512mb.... já consegui fazer isso algumas vezes... com excesso de informações

Então é bom sempre pergunta hehee

 

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.