给动作绑定回调方法,如下:
bool CallBackFun::init(void)
{bool bRet = false;
do
{
CC_BREAK_IF(! CCLayer::init());
CCSize layerSize = CCDirector::sharedDirector() ->getVisibleSize();
CCSprite* sprite = CCSprite::create("sprite.png");
CC_BREAK_IF(! sprite);
sprite ->setPosition(ccp(50, 100));
this ->addChild(sprite);
CCMoveTo* moveTo = CCMoveTo::create(0.5f,ccp(layerSize.width, 100));
CC_BREAK_IF(! moveTo);
//创建回调函数
CCCallFunc* callBack = CCCallFunc::create(this, callfunc_selector(CallBackFun::BackHome));
CC_BREAK_IF(! callBack);
//绑定callback函数
CCSequence* sequence = CCSequence::create(moveTo,callBack, NULL);
CC_BREAK_IF(! sequence);
sprite ->runAction(sequence);
bRet = true;
} while (0);
return bRet;
}
// 动作结束回调
void CallBackFun::BackHome(void)
{
do
{
CCSize layerSize = CCDirector::sharedDirector() ->getVisibleSize();
CCLabelTTF* ttf = CCLabelTTF::create("I COME", "Arail", 40);
CC_BREAK_IF(! ttf);
ttf ->setPosition(ccp(layerSize.width /2 ,layerSize.height /2));
this ->addChild(ttf);
} while (0);
}