JSRUN 用代码说话

CAScheduler

编辑教程

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 update(float dt);

返回值: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* pauseAllTargets();

返回值:CCSet*

参数:

解释:暂停所有定时器

CCSet* pauseAllTargetsWithMinPriority(int nMinPriority);

返回值:CCSet*

参数:

类型 参数名 说明
int nMinPriority 最小级优先

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

void resumeTargets(CCSet* targetsToResume);

返回值:void

参数:

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

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

JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟