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_); |
Observações
Seção intitulada “Observações”TimerIdidentifica o temporizador. UmTimerIdvazio temvalue == 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.
