Ir para conteúdo

POWERED BY:

Arquivado

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

rafael basto

Strip Images

Recommended Posts

Galera...

 

Estou com uma dúvida.

 

Tenho o seguinte código:

 

//contador
var count:Number = 0;
//limite para o contador, quanto maior o numero mais tempo entre cada transição.
var limitCount:Number = 200;
//posição inicial para para o destaque. Se for 0, demora dois tempos no primeiro destaque.
var posSlide:Number = 1;
//variavel para a função onEnterFrame posicionar os destaques no loop
var posSlideCount:Number = 1;
stop();
pag = 0;

bt_next.onRelease = function() {
	if (pag != 3) {
		pag++;
	}
	strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};
bt_prev.onRelease = function() {
	if (pag != 0) {
		pag--;
	}
	strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};

Gostaria de colocar eles passando sozinhos em loop e quando clicar na seta ele move na direcao.

 

Alguém tem udeia de como funciona?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta faltando codigo ai ta não?

 

N vejo nada disso aqui:

//contador

var count:Number = 0;

//limite para o contador, quanto maior o numero mais tempo entre cada transição.

var limitCount:Number = 200;

//posição inicial para para o destaque. Se for 0, demora dois tempos no primeiro destaque.

var posSlide:Number = 1;

//variavel para a função onEnterFrame posicionar os destaques no loop

var posSlideCount:Number = 1;

 

Sendo utilizado

 

Basicamente o que você teria que fazer eh colocar um setInterval e chamar a função para ir para frente

 

No caso acredito que seja a next trabalhando com seu codigo que você disponibilizou sem pegar nada extra

bt_next.onRelease = next() 

setInterval(next, 5000);

function next(){
 if (pag != 3) {
 pag++;
 }
 strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
}

 

Apronto agora a cada 5 segundos ele vai avançar 1

Ja aviso que isso n vai funcionar, pois esta faltando parte do codigo informado...

 

Sem o restante do codigo n tem como fazer isso que você quer.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ta faltando codigo ai ta não?

 

N vejo nada disso aqui:

//contador

var count:Number = 0;

//limite para o contador, quanto maior o numero mais tempo entre cada transição.

var limitCount:Number = 200;

//posição inicial para para o destaque. Se for 0, demora dois tempos no primeiro destaque.

var posSlide:Number = 1;

//variavel para a função onEnterFrame posicionar os destaques no loop

var posSlideCount:Number = 1;

 

Sendo utilizado

 

Basicamente o que você teria que fazer eh colocar um setInterval e chamar a função para ir para frente

 

No caso acredito que seja a next trabalhando com seu codigo que você disponibilizou sem pegar nada extra

bt_next.onRelease = next() 

setInterval(next, 5000);

function next(){
 if (pag != 3) {
 pag++;
 }
 strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
}

 

Apronto agora a cada 5 segundos ele vai avançar 1

Ja aviso que isso n vai funcionar, pois esta faltando parte do codigo informado...

 

Sem o restante do codigo n tem como fazer isso que você quer.

 

Abraços

 

Obrigado pela atenção... Segue a outra parte que nao entrou no [*code]

//contador
var count:Number = 0;
//limite para o contador, quanto maior o numero mais tempo entre cada transição.
var limitCount:Number = 200;
//posição inicial para para o destaque. Se for 0, demora dois tempos no primeiro destaque.
var posSlide:Number = 1;
//variavel para a função onEnterFrame posicionar os destaques no loop
var posSlideCount:Number = 1;
stop();
pag = 0;

bt_next.onRelease = function() {
	if (pag != 9) {
		pag++;
	}
	strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};	
bt_prev.onRelease = function() {
	if (pag != 0) {
		pag--;
	}
	strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};

Mechendo aqui... consegui isso:

 

_root.onEnterFrame = function(){
	if (count == limitCount) {
		
		if (posSlideCount >= 9) {
			posSlideCount = 0;
		}
		strip.tween(["_x"],[(posSlideCount)*(-751)],0.8,"easeinOutExpo",0);
		posSlideCount++;
		count = 0;
	}
	count++;
	//trace(count)
	
}

seno que as setas perdem o controle do posicionamento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com onEnterFrame você vai disparar o arquivo sem parar...

E você n quer um codigo sem tempo nenhum

 

onEnterFrame eh +/- 120 miliseconds(com frame rate 12) ou seja eh bem menor que 1 segundo.

 

O que você procura eh mover 1 pra frente a cada x segundos... ou seja re animar tudo a cada 1 segundo.

 

Então você tem que criar uma função que mova para a proxima imagem e colocar essa função para rodar a cada X segundos com setInterval

 

Acredito que seja isso que você deseja.

 

Então o negocio eh baseado com o que você ja tem descubra como passar para a proxima imagem com efeito, fazendo isso você simplesmente transforma isso numa função e chama ela de tempo em tempo.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Perfeito...

 

se nao for abuso.

 

Eu coloquei o Set Interval.. .porem to batendo a cabeca aqui para colocar uma "pausa" entre as ações

 

//contador
var count:Number = 0;
//limite para o contador, quanto maior o numero mais tempo entre cada transição.
var limitCount:Number = 200;
//posição inicial para para o destaque. Se for 0, demora dois tempos no primeiro destaque.
var posSlide:Number = 1;
//variavel para a função onEnterFrame posicionar os destaques no loop
var posSlideCount:Number = 1;
stop();
pag = 0;

function frente (){
	if (pag != 9) {
		pag++;
	}
	strip.tween(["_x"],[-pag*750],1.0,"easeinOutExpo",0.1);
	}

bt_next.onRelease = function() {
	frente ();
	}
bt_prev.onRelease = function() {
	if (pag != 0) {
		pag--;
	}
	strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};

setTimeout(frente, 1000);

Se puder me ajudar... fico muito grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pausa?

 

você diz clicar num botão e parar o script?

 

Utilize clearInterval

 

Faça

tempo = setInterval(frente, 1000);

 

E dentro de um botão coloque

clearInterval(tempo);

 

Lembrando que você tem que criar essa variavel tempo no começo do script para que ela seja valida dentro de funções.

 

1000 = 1s

10000 = 10s

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pausa?

 

você diz clicar num botão e parar o script?

 

Utilize clearInterval

 

Faça

tempo = setInterval(frente, 1000);

 

E dentro de um botão coloque

clearInterval(tempo);

 

Lembrando que você tem que criar essa variavel tempo no começo do script para que ela seja valida dentro de funções.

 

1000 = 1s

10000 = 10s

 

Abraços

 

berseck

 

Gostaria de agradecelo pela ajuda.... no final entendi toda a sua explicação sobre o setInterval. Porém, quando coloco o botao para pausar o script... eu gostaria de ele retornase.. esta acontecendo o seguinte:

 

A pessoa clica na seta para frente ele rola as imgs. Sendo que o setInterval esta agindo por tras. Ai quando da os 6 segundos e se eu tiver navegando pelas setas... ele avança. Eu gostaria que quando pressionar a seta... ele pausa o setInterval e em seguinda ele retorna com o setInterval.

 

Da uma olhada no final

 

http://images.americanas.com.br/Applications/site2010/paginas/lojas/loja_sony/strip.swf

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso basta adicionar o clear interval dentro da função do next:

 

function frente (){
 clearInterval(tempo);
 if (pag != 9) {
 pag++;
 }
 strip.tween(["_x"],[-pag*750],1.0,"easeinOutExpo",0.1);
 tempo = setInterval(frente, 6000);
 }

bt_next.onRelease = function() {
 frente ();
 }
bt_prev.onRelease = function() {
 if (pag != 0) {
 pag--;
 }
 strip.tween(["_x"],[-pag*751],1.0,"easeinOutExpo",0.1);
};

tempo = setTimeout(frente, 1000);

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.