Skip to content
Search

Cocos2dx:Schedule

lastmod 2018-08-17created 2017-11-101 edits

Registering a schedule

To have something run periodically, use each object's schedule() function.

schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
// selector: 스케쥴링시 호출할 함수.
// interval: 호출할 함수의 시간간격.
// repeat: 호출횟수.
// delay: 최초등록후 몇초 후 부터 스케쥴링 할 것인가?

A schedule registration can be removed with unschedule(SEL_SCHEDULE selector) or unscheduleAllSelectors().

Example

void MyScene::scheduleCountOne(float dt)
{
    this->unschedule(schedule_selector( MyScene ::scheduleCountThree));
    this->schedule(schedule_selector( MyScene ::scheduleCountTwo), 0.0f, 0, 1.0f);
    CCLog("One");
}

void  MyScene ::scheduleCountTwo(float dt)
{
    this->unschedule(schedule_selector( MyScene ::scheduleCountOne));
    this->schedule(schedule_selector( MyScene ::scheduleCountThree), 0.0f, 0, 1.0f);
    CCLog("Two");
}

void  MyScene ::scheduleCountThree(float dt)
{
    this->unschedule(schedule_selector( MyScene ::scheduleCountTwo));
    this->schedule(schedule_selector( MyScene ::scheduleCountOne), 0.0f, 0, 1.0f);
    CCLog("Three");
}

Every second, scheduleCountOne->scheduleCountTwo->scheduleCountThree->scheduleCountOne are called in turn.

See also