Timer 定时器
定时器可以每隔一段时间自动执行一次指定的函数,使用定时器之前,应先写一个函数,让定时器去执行它。
1 | // 写一个移动精灵的函数 |
然后创建一个定时器,让它不断的执行 MoveSprite 函数,这样精灵就会不断向右方移动。
1 | // 创建定时器,它可以自动执行 MoveSprite 函数 |
这个定时器会在每帧画面渲染时执行,而且永远不会停下来,除非你在某个地方调用了它的stop
函数。
也可以使用lambda函数来创建定时器:
1 | Timer::add([=]() { |
Timer::add()
函数的第二和第三个参数可以指定定时器的执行间隔和执行次数。
1 | Timer::add(MoveSprite, 0.5f, 5); // 每 0.5 秒执行一次,且执行 5 次后结束 |
Timer::add()
的第四个参数可以指定创建的定时器是否是暂停状态,第五个参数可以给定时器命名,有了名称的定时器可以管理其启动和暂停。
1 | Timer::add(MoveSprite, 0.5f, 5, false, "move_timer"); // 启动后不暂停,且定时器名称为 move_timer |