CCCallFuncND 传参数

来源:互联网 发布:linux 卸载openoffice 编辑:程序博客网 时间:2024/06/10 12:47
void ActionTest::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent)
{
    CCSize winSize = CCDirector::sharedDirector()->getWinSize();
    
    CCLayerColor* box = (CCLayerColor*)this->getChildByTag(222);

      int x = 33;


    CCSequence* seq1 = CCSequence::create(
        CCMoveBy::create(2, ccp(200, 0)),
        CCCallFuncND::create(this, callfuncND_selector(ActionTest::callback2),(void*)&x),
        NULL
        );
 
    box->runAction(seq1); // 因为action对象时用create(其实就是new的),执行runAction,其实是将刚才创建的这个action对象添加到ActionManager中,然后,该函数(TouchEnded)退出,所以x被释放了。所以传递参数一定不要传局部变量的地址!

}


void ActionTest::callback2(CCNode* sender, void* data)
{
    int m = *((int*)data);
}

0 0
原创粉丝点击