求助Follow的跟随问题

使用3.0a1版,请问,为什么Follow::create(); 后总是把精灵放置在屏幕正中间?

为什么Follow::actionWithTarget 调用不出来?

bool CCFollow::initWithTarget(CCNode pFollowedNode, const CCRect& rect/ = CCRectZero*/)
{
CCAssert(pFollowedNode != NULL, “”);

pFollowedNode->retain();
m_pobFollowedNode = pFollowedNode;
if (rect.equals(CCRectZero))
{
    m_bBoundarySet = false;
}
else
{
    m_bBoundarySet = true;
}

m_bBoundaryFullyCovered = false;

CCSize winSize = CCDirector::sharedDirector()->getWinSize();
m_obFullScreenSize = CCPointMake(winSize.width, winSize.height);
m_obHalfScreenSize = ccpMult(m_obFullScreenSize, 0.5f);
m_obHalfHalfScreenSize = ccp(winSize.width / 4, winSize.height / 4);

if (m_bBoundarySet)
{
    m_fLeftBoundary = -((rect.origin.x+rect.size.width) - m_obFullScreenSize.x);
    m_fRightBoundary = -rect.origin.x ;
    m_fTopBoundary = -rect.origin.y;
    m_fBottomBoundary = -((rect.origin.y+rect.size.height) - m_obFullScreenSize.y);

    if(m_fRightBoundary < m_fLeftBoundary)
    {
        // screen width is larger than world's boundary width
        //set both in the middle of the world
        m_fRightBoundary = m_fLeftBoundary = (m_fLeftBoundary + m_fRightBoundary) / 2;
    }
    if(m_fTopBoundary < m_fBottomBoundary)
    {
        // screen width is larger than world's boundary width
        //set both in the middle of the world
        m_fTopBoundary = m_fBottomBoundary = (m_fTopBoundary + m_fBottomBoundary) / 2;
    }

    if( (m_fTopBoundary == m_fBottomBoundary) && (m_fLeftBoundary == m_fRightBoundary) )
    {
        m_bBoundaryFullyCovered = true;
    }
}

return true;

}

在源码中替换,也可以设置偏移量