allyMonser
是CCSprite
(继承)。当我使用时间表时,allyMonster
中的NULL
为action()
。但是,当我直接致电action()
时,allyMonster
不是NULL
,这是正常的。
当我运行此代码时,日志显示:
1, 0x23ds566
2, 0xfffffff
我想知道原因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);
...
...
}
答案 0 :(得分:0)
我想原因是,当你运行预定的功能时,它并没有指向你想要的功能,而是指向其他功能,因为
void AMS_Moving::action()
错了。默认情况下,所有计划功能都应该输入ccTime dt,这应该是
void AMS_Moving::action(ccTime dt)