schedule CCCallfunc CCCallfuncN CCCallfuncND

 

schedule(schedule_selector(HelloWorld::step), 1.0f);
void HelloWorld::step(float dt)
{
    CCLog("dt = %f", dt);
    //this->unschedule(schedule_selector(HelloWorld::step)); 
  //不加这句,每1.0s调用一次 加上这句话,1.0s后调用且只执行一次 } schedule(schedule_selector(HelloWorld::step)); //先1.0秒之后执行一次,再每3.0秒执行一次共5次(注:如果最后一个参数为0的话会3.0秒执行6次) schedule(schedule_selector(HelloWorld::step), 3.0f, 5, 1.0f);

 

/*
        1、CCCallFunc,回调,调用不带参数的函数:
        2、CCCallFuncO,回调,O表示CCObject,CCCallFunco可以带CCObject参数的函数
        3、CCCallFuncN,回调,N表示CCNode,表示可以传递Node*类型
        4、CCCallFuncND,回调,ND表示CCNode和Data,可以传递对象本身和一个void*类型参数,void*表示可以是任意类型的参数
        */
        pSprite->runAction(CCSequence::create(
            CCMoveTo::create(3.0f, ccp(480,310)),
            CCCallFunc::create(this, callfunc_selector(HelloWorld::callfunc)),
            CCCallFuncO::create(this, callfuncO_selector(HelloWorld::callfuncO), CCInteger::create(2)),
            CCCallFuncN::create(this, callfuncN_selector(HelloWorld::callfuncN)),
            CCCallFuncND::create(this, callfuncND_selector(HelloWorld::callfuncND), (void*)2),
            NULL));


void callfunc();
void callfuncO( CCObject* data );
void callfuncN( CCNode* pSender );
void callfuncND( CCNode* pSender, void* pData );

 

posted @ 2013-12-28 09:54  解放1949  阅读(368)  评论(0编辑  收藏  举报