kirax 0 Denunciar post Postado Novembro 7, 2009 Olá amigos, estou com dificuldades de usar o setInterval no AS3. Antes eu usava a seguinte ação no AS2: stop(); milisegundos = 1000; id = setInterval(function() { play(); clearInterval(id); }, milisegundos); Agora no AS3 não estou conseguindo fazer o mesmo, dei uma olhada no manual do AS3 na função Timer mas não consegui entender. Espero que possam me ajudar. Desde já, obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 7, 2009 Bom a maneira que você faz não é a mais correta apesar de funcionar... Mas tente assim: var tempo = setInterval(intervalo, 1000); function intervalo():void{ trace('intervalo iniciado'); clearInterval(tempo); } Assim deve funcionar E assim que se usa a função timer: import flash.utils.Timer; var tpm:Timer; tpm = new Timer(1000); tpm.addEventListener(TimerEvent.TIMER, timerHandler); tpm.start(); function timerHandler(event:TimerEvent):void{ trace('timer iniciado'); tpm.stop(); } Abraços Compartilhar este post Link para o post Compartilhar em outros sites
kirax 0 Denunciar post Postado Novembro 7, 2009 Fala berseck. Cara, eu tentei usar da maneira que você sitou, mas não acontece nada. Não da nem um erro, mas ele simplesmente não faz nada além do trace. O que eu usava era AS2, como to tentano aprender AS3 agora um amigo me disse que o timer era melhor para fazer o que eu queria. O que eu quero que aconteça com a action é, no frame em que eu colocá-la ele pausa por 1 ou 2 segundos e depois volta o play. Isso que não estou conseguindo fazer. :( Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Novembro 7, 2009 Bom não sei qual é seu conhecimento de Action ... mas o código que eu passei de timer é EXATAMENTE igual ao seu setInterval... Vou colocar uns comentários nele... //Faço o import necessário import flash.utils.Timer; //Crio a variavel Timer var tpm:Timer; //Aqui eu digo quantos milisegundos dentro do new Timer(milisegundos) ele vai demorar para realizar o intervalo tpm = new Timer(1000); //Coloco o listener de acordo com o que ele faz tpm.addEventListener(TimerEvent.TIMER, timerHandler); //Coloco aqui um start para ele funcionar sem parar tpm.start(); //Aqui é a função do timer function timerHandler(event:TimerEvent):void{ //Ele da um trace e aparece no output 1 vez timer inciado trace('timer iniciado'); //Aqui é a mesma coisa que o clearInterval eu paro o timer por isso ele roda apenas 1 vez... para deixar em loop eterno remova ou comente o tpm.stop(); tpm.stop(); } Abraços Compartilhar este post Link para o post Compartilhar em outros sites
T_N_D 0 Denunciar post Postado Março 22, 2010 Uma dica, se eu quiser que o timer avance mais rapido no final do tempo como faço? Eu quero que uma mensagem apareça 20 vezes de inicio parecça de 1 em 1 segundo mas dps no final seja mais rapido que isso! Compartilhar este post Link para o post Compartilhar em outros sites
Public2004 79 Denunciar post Postado Março 22, 2010 Crie um contador e a cada chamada faça o incremento, quando chegar no 15 de um total de 20 por exemplo, você acelera o tempo definindo um novo valor para a variável... Att. Compartilhar este post Link para o post Compartilhar em outros sites
T_N_D 0 Denunciar post Postado Março 23, 2010 Crie um contador e a cada chamada faça o incremento, quando chegar no 15 de um total de 20 por exemplo, você acelera o tempo definindo um novo valor para a variável... Att. Como dou o intervalo? com o setinterval? Compartilhar este post Link para o post Compartilhar em outros sites
J. Santos 0 Denunciar post Postado Março 24, 2010 Fala berseck. Cara, eu tentei usar da maneira que você sitou, mas não acontece nada. Não da nem um erro, mas ele simplesmente não faz nada além do trace. O que eu usava era AS2, como to tentano aprender AS3 agora um amigo me disse que o timer era melhor para fazer o que eu queria. O que eu quero que aconteça com a action é, no frame em que eu colocá-la ele pausa por 1 ou 2 segundos e depois volta o play. Isso que não estou conseguindo fazer. :( Seu mesmo código: import flash.utils.setTimeout; stop(); var milisegundos:uint = 1000; setTimeout(this.play, milisegundos); Flw! Compartilhar este post Link para o post Compartilhar em outros sites