CAScheduler

2018-09-10 16:12 更新

類說明

CrossApp中的任務(wù)調(diào)度,也就是通常所說的定時器。


基類

CAObject


CAScheduler 方法(點(diǎn)擊查看方法介紹)

方法說明
schedule啟動定時器
schedule方法重載,啟動定時器
unschedule移除定時器
unscheduleAllForTarget移除指定對象的所有定時器
unscheduleAll移除當(dāng)前對象的所有定時器
isScheduled是否存在指定對象的定時器
getScheduler獲取一個CAScheduler單例
update更新
pauseTarget暫停指定對象的定時器
resumeTarget恢復(fù)指定對象的定時器
isTargetPaused指定對象定時器是否被暫停
pauseAllTargets暫停所有定時器
pauseAllTargetsWithMinPriority暫停所有定時器,以最小優(yōu)先 
resumeTargets恢復(fù)對象集合的所有定時器


CAScheduler 方法說明

static void schedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget, float fInterval,unsigned int repeat, float delay, bool bPaused)

返回值:void

參數(shù):

類型參數(shù)名說明
SEL_SCHEDULEpfnSelector定時器的回調(diào)函數(shù)
CAObject*pTarget定時器所屬對象
floatfInterval調(diào)度定時器的時間間隔
unsignedrepeat除第一次外,調(diào)度的次數(shù)
floatdelay第一次調(diào)度前的延遲時間
boolbPaused定時器是否為暫停狀態(tài)

解釋:啟動定時器


示例:

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);
}

設(shè)置一個定時器,調(diào)度時間間隔為1秒,延遲4秒調(diào)度,除去第一次調(diào)度外,重復(fù)調(diào)度3次。每次調(diào)度,進(jìn)度條的值增加百分之10,所以進(jìn)度條的值在4次調(diào)度為百分之四十。


static void schedule(SEL_SCHEDULE pfnSelector, CAObject *pTarget, float fInterval, bool bPaused = false);

返回值:void

參數(shù):

類型參數(shù)名說明
SEL_SCHEDULEpfnSelector定時器的回調(diào)函數(shù)
CAObject*pTarget定時器所屬對象
floatfInterval調(diào)度定時器的時間間隔
boolbPaused定時器是否為暫停狀態(tài)

解釋:方法重載,啟動定時器


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

返回值:void

參數(shù):

類型參數(shù)名說明
SEL_SCHEDULEpfnSelector定時器的回調(diào)函數(shù)
CAObject*pTarget定時器所屬對象

解釋:移除定時器


static void unscheduleAllForTarget(CAObject *pTarget);

返回值:void

參數(shù):

類型參數(shù)名說明
CAObject*pTarget定時器所屬對象

解釋:移除指定對象的所有定時器


static void unscheduleAll(void);

返回值:void

參數(shù):

解釋:移除當(dāng)前對象的所有定時器


static bool isScheduled(SEL_SCHEDULE pfnSelector, CAObject *pTarget);

返回值:bool

參數(shù):

類型參數(shù)名說明
SEL_SCHEDULEpfnSelector定時器的回調(diào)函數(shù)
CAObject*pTarget定時器所屬對象

解釋:是否存在指定對象的定時器


static CAScheduler* getScheduler();

返回值:CAScheduler* 

參數(shù):

解釋:獲取一個CAScheduler單例


void update(float dt);

返回值:void

參數(shù):

類型參數(shù)名說明
floatdt數(shù)據(jù)

解釋:更新定時器


void pauseTarget(CAObject *pTarget);

返回值:void

參數(shù):

類型參數(shù)名說明
CAObject*pTarget定時器所屬對象

解釋:暫停指定對象的定時器


void resumeTarget(CAObject *pTarget);

返回值:void

參數(shù):

類型參數(shù)名說明
CAObject*pTarget定時器所屬對象

解釋:恢復(fù)指定對象的定時器


bool isTargetPaused(CAObject *pTarget);

返回值:bool

參數(shù):

類型參數(shù)名說明
CAObject*pTarget定時器所屬對象

解釋:指定對象定時器是否被暫停


CCSet* pauseAllTargets();

返回值:CCSet*

參數(shù):

解釋:暫停所有定時器


CCSet* pauseAllTargetsWithMinPriority(int nMinPriority);

返回值:CCSet*

參數(shù):

類型參數(shù)名說明
intnMinPriority最小優(yōu)先

解釋:暫停所有定時器,以最小優(yōu)先


void resumeTargets(CCSet* targetsToResume);

返回值:void

參數(shù):

類型參數(shù)名說明
CCSet*targetsToResume恢復(fù)目標(biāo)

解釋:恢復(fù)對象集合的所有定時器

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號