CAScheduler
类说明
CrossApp中的任务调度,也就是通常所说的定时器。
基类
CAObject
CAScheduler 方法(点击查看方法介绍)
方法 | 说明 |
schedule | 启动定时器 |
schedule | 方法重载,启动定时器 |
unschedule | 移除定时器 |
unscheduleAllForTarget | 移除指定对象的所有定时器 |
unscheduleAll | 移除当前对象的所有定时器 |
isScheduled | 是否存在指定对象的定时器 |
getScheduler | 获取一个CAScheduler单例 |
update | 更新 |
pauseTarget | 暂停指定对象的定时器 |
resumeTarget | 恢复指定对象的定时器 |
isTargetPaused | 指定对象定时器是否被暂停 |
pauseAllTargets | 暂停所有定时器 |
pauseAllTargetsWithMinPriority | 暂停所有定时器,以最小级优先 |
resumeTargets | 恢复对象集合的所有定时器 |
CAScheduler 方法说明
static void schedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget, float fInterval,unsigned int repeat, float delay, bool bPaused)
返回值:void
参数:
类型 | 参数名 | 说明 |
SEL_SCHEDULE | pfnSelector | 定时器的回调函数 |
CAObject* | pTarget | 定时器所属对象 |
float | fInterval | 调度定时器的时间间隔 |
unsigned | repeat | 除第一次外,调度的次数 |
float | delay | 第一次调度前的延迟时间 |
bool | bPaused | 定时器是否为暂停状态 |
解释:启动定时器
示例:
progress = CAProgress::create();
progress->setFrame(CCRect(winRect.size.width*0.5-100,winRect.size.height*0.5+100,200,16));
progress->setProgresstrackColor(ccYELLOW);
this->getView()->addSubview(progress);
CAScheduler::schedule(schedule_selector(FifthViewController::changeValue),this,1,3,4,false);
void FifthViewController::changeValue(float interval)
{
float currentValue = progress->getProgress();
progress->setProgress(currentValue+0.1);
}
设置一个定时器,调度时间间隔为1秒,延迟4秒调度,除去第一次调度外,重复调度3次。每次调度,进度条的值增加百分之10,所以进度条的值在4次调度为百分之四十。
static void schedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget, float fInterval, bool bPaused = false);
返回值:void
参数:
类型 | 参数名 | 说明 |
SEL_SCHEDULE | pfnSelector | 定时器的回调函数 |
CAObject* | pTarget | 定时器所属对象 |
float | fInterval | 调度定时器的时间间隔 |
bool | bPaused | 定时器是否为暂停状态 |
解释:方法重载,启动定时器
static void unschedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget);
返回值:void
参数:
类型 | 参数名 | 说明 |
SEL_SCHEDULE | pfnSelector | 定时器的回调函数 |
CAObject* | pTarget | 定时器所属对象 |
解释:移除定时器
static void unscheduleAllForTarget(CAObject *pTarget);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAObject* | pTarget | 定时器所属对象 |
解释:移除指定对象的所有定时器
static void unscheduleAll(void);
返回值:void
参数:
解释:移除当前对象的所有定时器
static bool isScheduled(SEL_SCHEDULE pfnSelector, CAObject *pTarget);
返回值:bool
参数:
类型 | 参数名 | 说明 |
SEL_SCHEDULE | pfnSelector | 定时器的回调函数 |
CAObject* | pTarget | 定时器所属对象 |
解释:是否存在指定对象的定时器
static CAScheduler* getScheduler();
返回值:CAScheduler*
参数:
解释:获取一个CAScheduler单例
返回值:void
参数:
类型 | 参数名 | 说明 |
float | dt | 数据 |
解释:更新定时器
void pauseTarget(CAObject *pTarget);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAObject* | pTarget | 定时器所属对象 |
解释:暂停指定对象的定时器
void resumeTarget(CAObject *pTarget);
返回值:void
参数:
类型 | 参数名 | 说明 |
CAObject* | pTarget | 定时器所属对象 |
解释:恢复指定对象的定时器
bool isTargetPaused(CAObject *pTarget);
返回值:bool
参数:
类型 | 参数名 | 说明 |
CAObject* | pTarget | 定时器所属对象 |
解释:指定对象定时器是否被暂停
返回值:CCSet*
参数:
解释:暂停所有定时器
CCSet* pauseAllTargetsWithMinPriority(int nMinPriority);
返回值:CCSet*
参数:
类型 | 参数名 | 说明 |
int | nMinPriority | 最小级优先 |
解释:暂停所有定时器,以最小级优先
void resumeTargets(CCSet* targetsToResume);
返回值:void
参数:
类型 | 参数名 | 说明 |
CCSet* | targetsToResume | 恢复目标 |
解释:恢复对象集合的所有定时器