# FrameTimer [[src][src]] ###### tags: `FrameTimer` [src]: https://github.com/latte488/rudps-cpp/blob/master/include/frame_timer.hpp フレーム毎に更新させるタイマーです。タイマーの精度はあまり高くありませんが、代わりに高速です。 ## Dependence - [Frame][Frame-hackmd] [Frame-doc]: https://hackmd.io/@latte488/HyqvV0mSU ## Method ### void *Setup*(long nano) noexcept `nano`をナノ秒としてタイマーに設定します。 ### void *Update*([Frame][Frame-doc]& frame) noexcept `frame`でタイマーを更新する. `frame`はフレーム毎に更新されている必要があります。 ### void *Reset*() noexcept タイマーをSetupで設定された時間にリセットします. ### bool *IsExpired*() const noexcept タイマーが時間切れなら`true`,時間切れでないなら`false`を返します. ## Example この例では約1秒毎に秒数を約8秒まで出力します。 ```cpp #include <stdio.h> #include <frame_timer.hpp> int main() { Frame frame; FrameTimer timer; timer.Setup(1e9); size_t s = 0; while (s <= 8) { frame.Update(); timer.Update(frame); if (timer.IsExpired()) { timer.Reset(); printf("%lus\n", s++); } } return 0; } ```