Cocos2d-x计划错误

Cocos2d-x计划错误,cocos2d-x,schedule,Cocos2d X,Schedule,allyMonser是一个CCSprite(继承)。当我使用schedule时,allyMonster在action()中为NULL。但是,当我直接调用action()时,allyMonster不是NULL,这是正常的 运行此代码时,日志显示: 1, 0x23ds566 2, 0xfffffff 我想知道原因是什么。为什么会改变 void AMS_Moving::runAction() { allyMonster->unscheduleAllSelectors(); al

allyMonser
是一个
CCSprite
(继承)。当我使用schedule时,
allyMonster
action()
中为
NULL
。但是,当我直接调用
action()
时,
allyMonster
不是
NULL
,这是正常的

运行此代码时,日志显示:

1, 0x23ds566
2, 0xfffffff
我想知道原因是什么。为什么会改变

void AMS_Moving::runAction()
{
    allyMonster->unscheduleAllSelectors();
    allyMonster->stopAllActions();
    allyMonster->schedule( schedule_selector( AMS_Moving::action ) );

    CCLog("1. %x", allyMonster);
}

void AMS_Moving::action()
{
    CCLog("2. %x", allyMonster);
    ...
    ...
}

我想原因是,当您运行调度函数时,它不是指向您想要的函数,而是指向其他函数,因为

void AMS_Moving::action() 
这是错误的。默认情况下,所有计划函数都应采用输入ccTime dt,该值应为

void AMS_Moving::action(ccTime dt)