CCControlButton的使用
2013-08-05 18:14
537 查看
原文链接:http://blog.sina.com.cn/s/blog_7d1531ed010167pq.html
CCControlButton 是cocos2d-x新封装的UI 类似oc的UIButton 可以设置各个状态的png支持CCScale9Sprite根据大小拉伸图片!
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);
voidHelloWorld::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();
CCRectfullRect =
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);
CCControlButton 是cocos2d-x新封装的UI 类似oc的UIButton 可以设置各个状态的png支持CCScale9Sprite根据大小拉伸图片!
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);
voidHelloWorld::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();
CCRectfullRect =
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);
相关文章推荐
- CCControlButton使用时发现的点击范围问题(只能在右下角点击按键)
- 9、Cocos2d-X 游戏编程之------CCControlButton的使用
- 【Cocos2dx】使用CCControlButton创建按钮、按钮点击事件,点击事件中的组件获取,setPosition的坐标问题
- cocos2d-x 常用代码、高频使用代码【CCLayer、CCEditBox编辑框、CCControlButton按钮、CCLabelTTF标签、CCSpriteBatchNode渲染、CCMen】
- 12.解决CCScale9Sprite或者CCControlButton无法使用的问题。
- CCControlButton的使用
- CCControlButton的使用
- cocos2d-x tableview和CCControlButton的使用
- CCControlButton的使用
- 【Cocos2d-x】CCControlButton状态按钮的使用
- cocos2d-x tableview和CCControlButton的使用
- cocos2d-x使用CCControlButton的一些问题
- cocos2d-x tableview和CCControlButton的使用
- cocos2d-x tableview和CCControlButton的使用
- cocos2d-x控件使用CCControlButton<代码演示>
- 【转】CCScale9Sprite和CCControlButton
- Cocos2d-x学习笔记(12)(CCControlSwitch开关、CCControlSlider滑动条、CCControlButton按钮)
- CCControlSwitch 、CCControlSlider、CCControlButton
- MFC控件使用说明(combo box Button Check Box Radio Button List Control Edit Box Hot Key IP Address....)
- cocos2d-x按钮CCControlButton的用法