2013-03-27 3 views
0
void HelloWorld::startMovingBackground() { 

    CCLog("startMovingBackground..."); 

    if (isLeftPressed && isRightPressed) { 
     return; 
    } 

    CCLog("schedule...");  // OK....................... 

    this->schedule(schedule_selector(HelloWorld::moveBackground)); 
} 

ислойно> график() не работает

void HelloWorld::moveBackground(float f) { 

    CCLog("moveBackground %f", f);  // NO.................... 

    // Do move background... 
} 

Но функция moveBackground не называется. Помогите мне ...

======================================================================================================================================================= =================

кода (инициализация "HelloScene")

CCScene* HelloWorld::scene() { 
    CCScene * scene = NULL; 
    do { 
     scene = CCScene::create(); 
     CC_BREAK_IF(! scene); 
     HelloWorld *layer = HelloWorld::create(); 
     CC_BREAK_IF(! layer); 
     scene->addChild(layer); 
    } while (0); 
    return scene; 
} 

bool HelloWorld::init() 
{ 
    bool bRet = false; 
    do { 
     CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(255, 255, 255, 255))); 

     this->setTouchEnabled(true); 

     winSize = CCDirector::sharedDirector()->getWinSize(); 

     this->setTouchEnabled(true); 

     this->createBackgroundParallax(); 

     this->createArrowButtons(); 

     bRet = true; 
    } while (0); 

    return bRet; 
} 
+0

Сво работает отлично для меня .. Постарайтесь дать время наряду с методом. Или просто используйте schedUpdate() .. И используйте ваш метод обновления для перемещения фона ... Он отлично работает :) –

+0

Попробуйте установить breakPoint в методе startMovingBackground(). Возможно, вы никогда не называли «расписание». – PeakCoder

ответ

1

Если вы вызываете onEnter, scheduleUpdate() может быть не working.Try следующее:

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

или

CCDirector::sharedDirector()->getScheduler()->scheduleSelector(schedule_selector(NewGame::update),this,0.1,false); 
-2

вы пропустили аргумент в

this->schedule(selector, time_interval); 

Если я Бесполезный «Не ошибаюсь, по умолчанию 0, и он никогда не будет вызван.

Смежные вопросы