CCFollow 一个节点跟随另外一个节点的动作。定义第一个参数是要跟随的节点,第二个参数是运动的边界。如果没有传入边界,则视为没有边界。
bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !CCLayer::init() )
{
return false;
}
CCSprite *spr=CCSprite::create("Icon.png");
spr->setPosition(ccp(100, 100));
this->addChild(spr,0,1);
CCLabelTTF *ttf=CCLabelTTF::create("跟随动作", "宋体", 45);
CCMenuItemLabel *label=CCMenuItemLabel::create(ttf, this,menu_selector(HelloWorld::menuCallback));
label->setPosition(ccp(0, 80));
CCMenu *menu=CCMenu::create(label,NULL);
this->addChild(menu);
return true;
}
void HelloWorld::menuCallback(CCObject *pSender)
{
CCSprite *spr=(CCSprite*)this->getChildByTag(1);
spr->runAction(CCMoveTo::create(10, ccp(930, spr->getPositionY())));//精灵向右运动。
//跟随动作
CCFollow *follow=CCFollow::create(spr,CCRectMake(0, 0, 1280, 320));//精灵在屏幕上不动,背景向左移动。第二个参数是移动的范围。
this->runAction(follow);
}