Pular para o conteúdo
Baixar

Temporizadores

Temporizadores executam uma função mais tarde. Eles contam em passos: 60 passos = 1 segundo.

Função O que faz Exemplo
TimerId after(int steps, std::function<void()> fn) Chama fn uma vez, daqui a steps passos (no mínimo 1). after(30, [this] { visible = true; });
TimerId every(int steps, std::function<void()> fn) Chama fn a cada steps passos, até ser cancelado ou a instância ser destruída. every(60, [this] { spawn<Bullet>(x, y, "Instancias"); });
TimerId afterSeconds(float seconds, std::function<void()> fn) Igual ao after, em segundos. afterSeconds(2.5f, [this] { destroy(); });
void cancel(TimerId id) Cancela um temporizador desta instância. Funciona até dentro do próprio temporizador. cancel(blink_);
  • TimerId identifica o temporizador. Um TimerId vazio tem value == 0.
  • Os temporizadores rodam no começo do passo, antes do onUpdate.
  • Quando a instância é destruída, os temporizadores dela somem junto.
  • O [this] na lambda deixa usar as variáveis e funções da instância. Veja Lambdas.

Veja Esperar e repetir para exemplos.