Pacote | flash.utils |
Classe | public class Timer |
Herança | Timer EventDispatcher Object |
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
start()
para iniciar um timer. Inclua um listener de evento ao evento timer
para configurar o código que será executado no intervalo do timer.
Você pode criar objetos do Timer para serem executados uma vez, ou repetidamente em intervalos especificados, para a execução de códigos numa programação. Dependendo da velocidade de execução do arquivo SWF ou do ambiente do tempo de execução (memória disponível e outros fatores), o tempo de execução pode despachar eventos em intervalos ligeiramente deslocados. Por exemplo, se um arquivo SWF for configurado para execução em 10 quadros por segundo (fps), que corresponde a intervalos de 100 milissegundos, mas o timer estiver configurado para lançar um evento em 80 milissegundos, o evento será despachado próximo ao intervalo de 100 milissegundos. Os scripts com uso intensivo de memória também podem deslocar os eventos.
Propriedade | Definido por | ||
---|---|---|---|
constructor : Object
Uma referência ao objeto de classe ou à função de construtor de uma determinada ocorrência de objeto. | Object | ||
currentCount : int [somente leitura]
O número total de vezes que o timer foi acionado desde que ele foi iniciado em zero. | Timer | ||
delay : Number
O atraso, em milissegundos, entre eventos do timer. | Timer | ||
repeatCount : int
O número total de vezes que o timer é definido para execução. | Timer | ||
running : Boolean [somente leitura]
O estado atual do timer; verdadeiro se o timer estiver em execução. caso contrário, falso. | Timer |
Método | Definido por | ||
---|---|---|---|
Constrói um novo objeto Timer com os estados especificados de atraso e repeatCount. | Timer | ||
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra um objeto de ouvinte de evento em um objeto EventDispatcher, de forma que o ouvinte receba a notificação de um evento. | EventDispatcher | ||
Envia um evento para o fluxo de eventos. | EventDispatcher | ||
Verifica se o objeto EventDispatcher tem ouvintes registrados para um tipo específico de evento. | EventDispatcher | ||
Indica se um objeto tem uma propriedade especificada definida. | Object | ||
Indica se uma ocorrência da classe Object está na cadeia de protótipos do objeto especificado como o parâmetro. | Object | ||
Indica se a propriedade especificada existe e é enumerável. | Object | ||
Remove um ouvinte do objeto EventDispatcher. | EventDispatcher | ||
Para o timer, se ele estiver em execução, e define a propriedade currentCount de volta a 0, como o botão que zera um cronômetro. | Timer | ||
Define a disponibilidade de uma propriedade dinâmica para operações de repetição. | Object | ||
Inicia o timer, se ele não estiver em execução. | Timer | ||
Para o timer. | Timer | ||
Retorna a representação da string deste objeto, formatado segundo as convenções específicas para a localidade. | Object | ||
Retorna a representação de string do objeto especificado. | Object | ||
Retorna o valor primitivo do objeto especificado. | Object | ||
Verifica se um ouvinte de evento está registrado nesse objeto EventDispatcher ou em qualquer um de seus ancestrais para o tipo de evento especificado. | EventDispatcher |
Evento | Resumo | Definido por | ||
---|---|---|---|---|
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR ganha o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
[transmissão de evento] Despachado quando o Flash Player ou o aplicativo do AIR perde o foco do sistema operacional e está se tornando inativo. | EventDispatcher | |||
Despachado sempre que um objeto Timer atinge um intervalo especificado, de acordo com a propriedade Timer.delay. | Timer | |||
Despachado sempre que houver concluído o número de solicitações definidas por Timer.repeatCount. | Timer |
currentCount | propriedade |
currentCount:int
[somente leitura] Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O número total de vezes que o timer foi acionado desde que ele foi iniciado em zero. Se o timer foi zerado, apenas os acionamentos até a reconfiguração são contados.
Implementação
public function get currentCount():int
delay | propriedade |
delay:Number
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O atraso, em milissegundos, entre eventos do timer. Se você definir o intervalo de atraso enquanto o timer está em execução, ele reiniciará na mesma iteração repeatCount
.
Observação: um delay
inferior a 20 milissegundos não é recomendado. A frequência do temporizador é limitada a 60 quadros por segundo, significando que uma demora menor do que 16,6 milissegundos causa problemas de tempo de execução.
Implementação
public function get delay():Number
public function set delay(value:Number):void
Lança
Error — Lança uma exceção, se o atraso especificado for negativo ou não for um número finito.
|
repeatCount | propriedade |
repeatCount:int
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
O número total de vezes que o timer é definido para execução. Se zero, o timer repete por tempo indeterminado, até um máximo de 24,86 dias, ou até o método stop()
ser invocado ou o programa parar. Se a contagem de repetição for diferente de zero, o timer executa o número de vezes especificado. Se repeatCount
for configurado para um total igual ou inferior a currentCount
, o timer para e não funcionará novamente.
Implementação
public function get repeatCount():int
public function set repeatCount(value:int):void
running | propriedade |
Timer | () | Construtor |
public function Timer(delay:Number, repeatCount:int = 0)
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Constrói um novo objeto Timer com os estados especificados de atraso
e repeatCount
.
O timer não se inicia automaticamente; você precisa chamar o método start()
para iniciá-lo.
delay:Number — O atraso, em milissegundos, entre eventos do timer. Um delay inferior a 20 milissegundos não é recomendado. A frequência do temporizador é limitada a 60 quadros por segundo, significando que uma demora menor do que 16,6 milissegundos causa problemas de tempo de execução.
| |
repeatCount:int (default = 0 ) — Especifica o número de repetições. Se zero, o timer repete por tempo indeterminado, até um máximo de 24,86 dias (int.MAX_VALUE + 1). Se diferente de zero, o timer executa no número especificado de vezes e depois para.
|
Lança
Error — se o atraso especificado for negativo ou não for um número finito.
|
Exemplo ( Como usar este exemplo )
É criado um objeto Timer que se inicia em 30 segundos (o atraso é definido em 30000 milissegundos) e repete três vezes até um total de 90 segundos. (O timer para após a terceira vez).
Dois listeners de eventos são inseridos no timer myTimer
. O primeiro é acionado pelo eventoTimerEvent.TIMER
, que ocorre todas as vezes que o timer é iniciado. O método timerHandler()
muda o texto para o campo de texto statusTextField
para refletir os segundos restantes.
Observação: classe Timer mantém o controle do número de vezes que necessita para iniciar (repeats
) com o aumento do número na propriedade currentCount
.)
Depois que o timer for chamado pela última vez, o evento TimerEvent.TIMER_COMPLETE
é despachado e é chamado o métodocompleteHandler()
. O método completeHandler()
muda o tipo do campo de texto inputTextField
de INPUT
para DYNAMIC
, o que significa que o usuário não terá mais condições de dar entrada ou mudar o campo de texto.
package { import flash.display.Sprite; import flash.text.TextField; import flash.text.TextFieldType; import flash.text.TextFieldAutoSize; import flash.utils.Timer; import flash.events.TimerEvent; import flash.events.Event; public class Timer_constructorExample extends Sprite { private var statusTextField:TextField = new TextField(); private var inputTextField:TextField = new TextField(); private var delay:uint = 30000; private var repeat:uint = 3; private var myTimer:Timer = new Timer(delay, repeat); public function Timer_constructorExample() { inputTextField.x = 10; inputTextField.y = 10; inputTextField.border = true; inputTextField.background = true; inputTextField.height = 200; inputTextField.width = 200; inputTextField.multiline = true; inputTextField.wordWrap = true; inputTextField.type = TextFieldType.INPUT; statusTextField.x = 10; statusTextField.y = 220; statusTextField.background = true; statusTextField.autoSize = TextFieldAutoSize.LEFT; myTimer.start(); statusTextField.text = "You have " + ((delay * repeat) / 1000) + " seconds to enter your response."; myTimer.addEventListener(TimerEvent.TIMER, timerHandler); myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, completeHandler); addChild(inputTextField); addChild(statusTextField); } private function timerHandler(e:TimerEvent):void{ repeat--; statusTextField.text = ((delay * repeat) / 1000) + " seconds left."; } private function completeHandler(e:TimerEvent):void { statusTextField.text = "Times Up."; inputTextField.type = TextFieldType.DYNAMIC; } } }
reset | () | método |
public function reset():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para o timer, se ele estiver em execução, e define a propriedade currentCount
de volta a 0, como o botão que zera um cronômetro. Depois, quando é chamado o start()
, a ocorrência do timer executa o número especificado de repetições, conforme definido pelo valor repeatCount
.
Elementos da API relacionados
start | () | método |
public function start():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inicia o timer, se ele não estiver em execução.
stop | () | método |
public function stop():void
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para o timer. Quando é chamado o start()
depois do stop()
, a ocorrência do timer executa o número restante de repetições, conforme definido pela propriedade repeatCount
.
Elementos da API relacionados
timer | Evento |
flash.events.TimerEvent
propriedade TimerEvent.type =
flash.events.TimerEvent.TIMER
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado sempre que um objeto Timer atinge um intervalo especificado, de acordo com a propriedade Timer.delay
.
type
de um objeto de evento timer
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto Timer que atingiu o respectivo intervalo. |
timerComplete | Evento |
flash.events.TimerEvent
propriedade TimerEvent.type =
flash.events.TimerEvent.TIMER_COMPLETE
Versão da linguagem: | ActionScript 3.0 |
Versões de runtime: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Despachado sempre que houver concluído o número de solicitações definidas pelo Timer.repeatCount
.
type
de um objeto de evento timerComplete
.
Esse evento tem as seguintes propriedades:
Propriedade | Valor |
---|---|
bubbles | false |
cancelable | false ; não há comportamento padrão a ser cancelado. |
currentTarget | O objeto que está processando ativamente o objeto Event com um ouvinte de evento. |
target | O objeto Timer que concluiu as respectivas solicitações. |
TimerExample
para mostrar como um método de listener timerHandler()
pode ser configurado para ouvir um novo TimerEvent que será despachado. O timer é iniciado quando o start()
é chamado e, depois desse ponto, os eventos do timer são despachados.
package { import flash.utils.Timer; import flash.events.TimerEvent; import flash.display.Sprite; public class TimerExample extends Sprite { public function TimerExample() { var myTimer:Timer = new Timer(1000, 2); myTimer.addEventListener("timer", timerHandler); myTimer.start(); } public function timerHandler(event:TimerEvent):void { trace("timerHandler: " + event); } } }
Wed Jun 13 2018, 11:10 AM Z