CCControlButton的使用
CCSprite* tmp = CCSprite::create("CloseNormal.png");
CCSize size = tmp->getContentSize();
CCLog("wh:%f,%f", size.width, size.height);
tmp->release();
CCScale9Sprite* backGround =CCScale9Sprite::create("CloseNormal.png");
CCControlButton*button=CCControlButton::create(backGround);
button->setPosition(200, 200);
button->setPreferredSize(CCSizeMake(size.width, size.height));
this->addChild(button);
button->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::menu1Callback),CCControlEventTouchUpInside);
void HelloWorld::menu1Callback(cocos2d::CCNode *pSender)
{
CCControlButton*button=(CCControlButton*)pSender;
CCLog("%d",button->getTag());//根据tag值判断按钮
CCLOG("menu1Callback");
}
如果button->setPreferredSize(CCSizeMake(size.width*3, size.height*3));就会变成第二张图片 走形了
疑惑的是 CCScale9Sprite有什么作用 是为了适应button的拉扯 效果还是那么难看!
解决办法:对CCScale9Sprite进行缩放规划才可以
CCSprite* tmp = CCSprite::create("CloseNormal.png");
CCSize size = tmp->getContentSize();
CCRect fullRect = CCRectMake(0,0, size.width, size.height);
CCRect insetRect = CCRectMake(2,2,size.width-4, size.height-4);
CCScale9Sprite* backGround = CCScale9Sprite::create("CloseNormal.png", fullRect, insetRect);