今天做一个数字跳动效果需要用到计时器,但因为负责人说不想修改工程里面的函数代码,所以帧函数只能写到一个外部类里了,但schedule一般情况上是只能调用本类的成员函数,但现在是特殊情形。所以我去研究了一下schedule,经过很多次测试总算总结出些许经验,
该函数 可以调用其他object类的成员函数,但必须注意一下几点,第一 调用其他object类的成员函数时是不能调用其类的成员的,但可以调用类static成员,进入schedule
void CCNode::schedule(SEL_SCHEDULE selector, ccTime interval)
{
CCAssert( selector, "Argument must be non-nil");
CCAssert( interval >=0, "Argument must be positive");
CCScheduler::sharedScheduler()->scheduleSelector(selector, this, interval, !m_bIsRunning);
}
发现没有scheduleSelector调用了this指针,即非本类函数无法调用成员。