1. 程式人生 > >cocos2d-js:呼叫scheduleUpdate()不執行update()方法的解決辦法

cocos2d-js:呼叫scheduleUpdate()不執行update()方法的解決辦法

採用:
cc.director.getScheduler().scheduleUpdate(target, 0, false);

參考來源:http://cocos2d.9tech.cn/news/2013/0911/28709.html

 替換scheduleUpdate():

CCDirector::sharedDirector()->getScheduler()->scheduleUpdateForTarget(this,0,false);

或者:

    CCDirector::sharedDirector()->getScheduler()->scheduleSelector(schedule_selector

(NewGame::update),this,0.1,false);

當然了,使用系統提供的update總是不那麼方便,還不如自己定義自己的更新方法,在指定時間內呼叫,如:

schedule(schedule_selector(Potentiometer::valueChange),1);

unschedule(schedule_selector(Potentiometer::valueChange));

以及

CCDirector::sharedDirector()->getScheduler()->scheduleSelector(SEL_SCHEDULE(&Potentiometer::valueChange), this, 1, false);

CCDirector::sharedDirector()->getScheduler()->unscheduleSelector(SEL_SCHEDULE(&Potentiometer::valueChange), this);

都能達到很好的效果,在間隔1s時間後,呼叫valueChange方法,尤其是當類的繼承不為CCNode而為CCLayer時,以上兩種方法還是很有效果的。