..:: MX Studio Fóruns ::..: Pausar Timer enquanto carrega a foto - Dúvida AS3 [RESOLVIDO] - ..:: MX Studio Fóruns ::..

Jump to content

Publicidade




ATENÇÃO

Para evitar posts desnecessários e que não influam para o andamento e desenvolvimento do fórum, clique aqui e leia todas as regras.
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Pausar Timer enquanto carrega a foto - Dúvida AS3 [RESOLVIDO] Galeria de Imagens AS3

#1 User is offline   ftrabbold 

  • Group: Membros
  • Posts: 58
  • Joined: 06-April 10

  Posted 08 April 2010 - 11:37 PM

Galera, estou com uma dúvida em uma galeria que estou criando.
Ela puxa imagens de fora (que estão na mesma pasta) e tem um Timer de 5 segundos para cada foto. Além disso coloquei um Tween com efeito de Regular.easeOut.
Até aí tudo bem, carrega numa boa. O problema é que enquanto carrega a foto o Timer continua rolando, tentei criar uma condicional mas não rolou. Alguém me ajuda?

CÓDIGO
//Classe
import fl.transitions.*
import fl.transitions.easing.*


//Variáveis
var fotosRequest:URLRequest = new URLRequest()
var fotosLoader:Loader = new Loader()

var carrega = new Loader()
var completa:int = 100

var contador:int = 0
var tamanho:uint = 3
var conteiner:MovieClip = new MovieClip()

var temporizador:Timer = new Timer (5)


//Eventos
carrega.contentLoaderInfo.addEventListener(Event.COMPLETE,completouext)
carrega.contentLoaderInfo.addEventListener(Event.OPEN, iniciouext)
temporizador.addEventListener(TimerEvent.TIMER, repete)


//Funções
function iniciouext(e){
    llorcarrega_mc.visible = true
}

function completouext(e){
    llorcarrega_mc.visible=false

//***************************************************************
//Tentei criar aqui a condição, mas não rolou!
    if (carrega < completa) {
        temporizador.stop()
        }
    else { temporizador.start()
        }

}

function repete (e:TimerEvent) {
    temporizador.delay = 5000

    fotosRequest.url = "eventos" + contador + ".jpg"
    fotosLoader.load (fotosRequest)

    contador ++
    if ( contador == tamanho) {
        contador = 0
    }

    TransitionManager.start( alvo_mc, {type:Fade, duration:1, easing:Regular.easeIn})
}


// Inicialização
this.addChild (alvo_mc)
alvo_mc.addChild(fotosLoader)
temporizador.start()


Se quiserem fazer download do arquivo segue o link http://www.filipetrabbold.com.br/testes/ga...imer/teste2.zip

vlw! abss
0

#2 User is offline   Natan 

  • Group: Moderador Global
  • Posts: 7350
  • Joined: 28-February 04

Posted 10 April 2010 - 08:46 PM

Não entendi muito bem o que você quis fazer, você quer que a cada 5 segundos uma imagem seja carregada, mas não quer que fique fazendo isso infinitamente (pois da maneira que foi feito nunca vai parar de carregas as imagens)?

Nos de mais detalhes para que possamos te ajudar corretamente.

[]s
0

#3 User is offline   ftrabbold 

  • Group: Membros
  • Posts: 58
  • Joined: 06-April 10

Posted 13 April 2010 - 12:51 AM

Olá, Natan!

Obrigado pela resposta.

O que eu quero é uma galeria que exibe fotos durante 5 segundos pelo Timer e que tenha transição de tween entre elas. Até aí carrega, exibe e funciona perfeitamente.
Mas, quando a foto está sendo carregada o timer fica funcionando, então, vamos supor que a imagem está sendo carregada em 3 segundos, na verdade a pessoa vai ver apenas 2 segundos de imagem, uma vez que o timer não para de funcionar, entende?
Então, o que eu quero é que enquanto a imagem carrega o timer dê um stop. e depois que a imagem for carregada ele dê o Start entende?

Por isso tentei montar essa função, mas não deu muito certo.

Conseguiu entender? absss Obrigado pela resposta!
0

#4 User is offline   ftrabbold 

  • Group: Membros
  • Posts: 58
  • Joined: 06-April 10

Posted 13 April 2010 - 11:35 PM

Natan, fiz um otro código. Não consegui testar com certeza, apesar do trace ter dado certo.
Mas está funcionando e na web não parece ter perda, portanto, agora acredito que esteja ok!

Segue o código para quem quiser

CÓDIGO
//Classe
import fl.transitions.*
import fl.transitions.easing.*


//Variáveis
var fotosRequest:URLRequest = new URLRequest()
var fotosLoader:Loader = new Loader()

var contador:int = 0
var tamanho:uint = 3
var conteiner:MovieClip = new MovieClip()

var temporizador:Timer = new Timer (5)

var totais:uint = root.loaderInfo.bytesTotal
var carregados:uint = root.loaderInfo.bytesLoaded

//Eventos
temporizador.addEventListener(TimerEvent.TIMER, repete)
stage.addEventListener(Event.ENTER_FRAME, loop)

//Funções
function loop (e:Event) {
    if (totais < carregados) {
        temporizador.stop()
    } else {temporizador.start()}
}

function repete (e:TimerEvent) {
    temporizador.delay = 5000

    fotosRequest.url = "imgs/outroseventos/eventos" + contador + ".jpg"
    fotosLoader.load (fotosRequest)

    contador ++
    if ( contador == tamanho) {
        contador = 0
    }

    TransitionManager.start( conteiner, {type:Fade, duration:1, easing:Regular.easeIn})
}


// Inicialização
this.addChild (conteiner)
conteiner.addChild(fotosLoader)

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic



Publicidade




1 User(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)