CCControlButton之类的控件怎么加入批次渲染?

CCSpriteBatchNode* batchNode = CCSpriteBatchNode::create(“2.png”, 100);
batchNode->setPosition(CCPointZero);
this->addChild(batchNode);

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(“2.plist”);

CCScale9Sprite *pBtnPicN = CCScale9Sprite::createWithSpriteFrameName(“start_1.png”);
CCScale9Sprite *pBtnPicD = CCScale9Sprite::createWithSpriteFrameName(“start_3.png”);
CCControlButton *pCtrlBtn = CCControlButton::create();
if (NULL == pCtrlBtn)
return NULL;

pCtrlBtn->setZoomOnTouchDown(false);
pCtrlBtn->setAnchorPoint(ccp(0,0));
pCtrlBtn->setPreferredSize(CCSizeMake(91, 38));
pCtrlBtn->setPosition(ccp(100,100));

pCtrlBtn->setBackgroundSpriteForState(pBtnPicN, CCControlStateNormal);
pCtrlBtn->setBackgroundSpriteForState(pBtnPicD, CCControlStateHighlighted);

pCtrlBtn->setTag(9999);
pCtrlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(HelloWorld::touchUpInsideAction), CCControlEventTouchUpInside);

batchNode->addChild(pCtrlBtn);

添加的时候报错…
batchNode->addChild(pCtrlBtn);

提示:
CCSpriteBatchNode only supports CCSprites as children

CCControlButton之类的控件是不是不能批次渲染?

CCControlButton之类的控件是不是不能批次渲染?
是的,batchnode只能添加sprite。
对于controlbutton里面,如果图片多的话,可以再用一个batchnode。

对于controlbutton里面,如果图片多的话,可以再用一个batchnode。

这句话是什么意思?具体应该怎么做?

如下的情况:

  CCSpriteBatchNode* bNode = CCSpriteBatchNode::create("cocosDenshion/cocosDenshion.png");
        addChild(bNode);
        bNode->setPosition(ccp(0, 0));

        _down1 = CCSprite::createWithSpriteFrameName((text+"_0.png").c_str());
        bNode->addChild(_down1);
        _up1 = CCSprite::createWithSpriteFrameName((text+"_1.png").c_str());
        bNode->addChild(_up1);
        _up1->setVisible(false);

这样来写,需要自己处理点击事件。
单纯的cccontrolbutton,是不能这样做的。