easyx_framework V1.0.0
基于easyx的c++游戏框架
 
载入中...
搜索中...
未找到
Timer类 参考final

计时器类 更多...

#include <Timer.h>

Public 成员函数

 Timer ()
 
 ~Timer ()
 
template<class T >
void Bind (double del, T *obj, void(T::*func)(), bool repeat=false, double firstDelay=-1.0)
 实现跟对象物体绑定实现计时

 
void Bind (double del, std::function< void()>fun, bool repeat=false, double firstDelay=-1.0)
 使用lambda表达式进行函数包装
 
void Execute ()
 执行计时器
 
double GetDelay ()
 获取间隔时间
 
void SetDelay (double time)
 设置间隔时间
 
void ReSet ()
 重置时间点,重新开始计时
 
void Stop ()
 停止计时器 要记录停顿的时间间隔
 
void Continue ()
 继续计时器
 

Private 成员函数

duration< double > getDelay ()
 ///获取延时时间
 

Private 属性

std::function< void()> callback
 把函数指针进行适配,也就是包装
 
bool bpersistent = false
 是否重复执行
 
bool bRunning = true
 是否正在计时
 
duration< double > delay = duration<double>(0)
 时间段类型 设置延时时间间隔超过这个时间段才能执行 默认为秒 实现计时控制
 
time_point< steady_clock > lastTime
 时间点类型把上一次的时间点传进去 时钟进度在纳秒级别
 
time_point< steady_clock > stopTime
 停止的时间点
 

详细描述

计时器类

备注
不允许进行继承

构造及析构函数说明

◆ Timer()

Timer::Timer ( )
inline
备注
实现可以不用绑定也可以获取时间

◆ ~Timer()

Timer::~Timer ( )
inline
备注
一般都是创建局部计时器,不用动态删除,只要从全局容器中删去就行

成员函数说明

◆ Bind() [1/2]

void Timer::Bind ( double del,
std::function< void()> fun,
bool repeat = false,
double firstDelay = -1.0 )
inline

使用lambda表达式进行函数包装

参数
[in]del延时
[in]funlambda表达式
[in]repeat是否要重复执行
[in]firstDelay首次执行时间

◆ Bind() [2/2]

template<class T >
void Timer::Bind ( double del,
T * obj,
void(T::* func )(),
bool repeat = false,
double firstDelay = -1.0 )
inline

实现跟对象物体绑定实现计时

备注
默认不重复执行,可以指定首次执行时间间隔(默认为没有)
参数
[in]del延时
[in]obj要绑定的对象
[in]func要执行的函数,只能是没有返回值的void的函数名或者函数指针
[in]repeat是否要重复执行

◆ Continue()

void Timer::Continue ( )
inline

继续计时器

备注
时间间隔要加上上次执行的时间点才是正确的我们需要的事件间隔

◆ Execute()

void Timer::Execute ( )
inline

执行计时器

◆ GetDelay()

double Timer::GetDelay ( )
inline

获取间隔时间

◆ getDelay()

duration< double > Timer::getDelay ( )
inlineprivate

///获取延时时间

◆ ReSet()

void Timer::ReSet ( )
inline

重置时间点,重新开始计时

◆ SetDelay()

void Timer::SetDelay ( double time)
inline

设置间隔时间

参数
[in]time间隔秒数

◆ Stop()

void Timer::Stop ( )
inline

停止计时器 要记录停顿的时间间隔

类成员变量说明

◆ bpersistent

bool Timer::bpersistent = false
private

是否重复执行

◆ bRunning

bool Timer::bRunning = true
private

是否正在计时

◆ callback

std::function<void()> Timer::callback
private

把函数指针进行适配,也就是包装

◆ delay

duration<double> Timer::delay = duration<double>(0)
private

时间段类型 设置延时时间间隔超过这个时间段才能执行 默认为秒 实现计时控制

◆ lastTime

time_point<steady_clock> Timer::lastTime
private

时间点类型把上一次的时间点传进去 时钟进度在纳秒级别

◆ stopTime

time_point<steady_clock> Timer::stopTime
private

停止的时间点