您的位置:首页 > 其它

回调参数绑定,将局部变量变成回调的传参

2015-05-31 21:43 357 查看
做项目的时候,总是会碰到在一些回调里处理逻辑,有的时候,需要一些参数来进行对应操作。

如下,我创建一个精灵,让他执行一段移动的动作,在动作结束后,我想要将这个精灵释放掉

Sprite * cardSp = Sprite::create("ui/icGotPoker.png");
cardSp->setPosition(beginPos);
cardSp->setRotation(angel - 90);
this->addChild(cardSp);


//用std::bind将上面创建的cardSp绑定给GameLayer::playDealActionCallFunc的参数,这样,就可以在GameLayer::playDealActionCallFunc里以传入参数的方式拿到cardSp了
MoveTo * moveTo = MoveTo::create(0.1f, endPos);
CallFunc * func = CallFunc::create(std::bind(&GameLayer::playDealActionCallFunc, this, cardSp));
Sequence * seq = Sequence::create(moveTo, func, NULL);
cardSp->runAction(seq);






//下面是他的回调



void GameLayer::playDealActionCallFunc(Node * cardSp)
{
...
...
cardSp->removeFromParent();
}






                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: