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_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恢复目标

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

作者:唐伯虎点蚊香,如若转载,请注明出处:https://www.web176.com/crossapp/10144.html

(0)
打赏 支付宝 支付宝 微信 微信
唐伯虎点蚊香的头像唐伯虎点蚊香
上一篇 2023年2月21日 下午2:48
下一篇 2023年2月21日 下午2:48

相关推荐

发表回复

登录后才能评论