-

类说明

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_SCHEDULEpfnSelector定时器的回调函数
CAObject*pTarget定时器所属对象
floatfInterval调度定时器的时间间隔
unsignedrepeat除第一次外,调度的次数
floatdelay第一次调度前的延迟时间
boolbPaused定时器是否为暂停状态

解释:启动定时器


示例:

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_SCHEDULEpfnSelector定时器的回调函数
CAObject*pTarget定时器所属对象
floatfInterval调度定时器的时间间隔
boolbPaused定时器是否为暂停状态

解释:方法重载,启动定时器


static void unschedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget);

返回值:void

参数:

类型参数名说明
SEL_SCHEDULEpfnSelector定时器的回调函数
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_SCHEDULEpfnSelector定时器的回调函数
CAObject*pTarget定时器所属对象

解释:是否存在指定对象的定时器


static CAScheduler* getScheduler();

返回值:CAScheduler* 

参数:

解释:获取一个CAScheduler单例


void update(float dt);

返回值:void

参数:

类型参数名说明
floatdt数据

解释:更新定时器


void pauseTarget(CAObject *pTarget);

返回值:void

参数:

类型参数名说明
CAObject*pTarget定时器所属对象

解释:暂停指定对象的定时器


void resumeTarget(CAObject *pTarget);

返回值:void

参数:

类型参数名说明
CAObject*pTarget定时器所属对象

解释:恢复指定对象的定时器


bool isTargetPaused(CAObject *pTarget);

返回值:bool

参数:

类型参数名说明
CAObject*pTarget定时器所属对象

解释:指定对象定时器是否被暂停


CCSet* pauseAllTargets();

返回值:CCSet*

参数:

解释:暂停所有定时器


CCSet* pauseAllTargetsWithMinPriority(int nMinPriority);

返回值:CCSet*

参数:

类型参数名说明
intnMinPriority最小优先

解释:暂停所有定时器,以最小优先


void resumeTargets(CCSet* targetsToResume);

返回值:void

参数:

类型参数名说明
CCSet*targetsToResume恢复目标

解释:恢复对象集合的所有定时器