展会信息港展会大全

Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
来源:互联网   发布日期:2015-09-28 10:41:03   浏览:959次  

导读: CCControlColourPicker实现颜色拾取器的功能。关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。下边来看源代码。 bool Hello...

CCControlColourPicker实现颜色拾取器的功能。关于控件使用时的一些配置,请参见文章:UI开发之控件类-CCControlButton。下边来看源代码。

bool HelloWorld::init()

{

bool bRet = false;

do

{

CC_BREAK_IF(! CCLayer::init());

//设置一个显示字符串的label

CCLabelTTF * title = CCLabelTTF::create("#128128128","Arial",32);

title->setPosition(ccp(240,280));

//设置label的tag为1,方便以后获取

this->addChild(title,0,1);

//这里有一个问题需要注意,在create之前,应该在resource目录下新建一个文件夹叫做extensions,然后把源代码中

//和CCControlColourPicker相关的资源导入进去

CCControlColourPicker * colorPicker = CCControlColourPicker::create();

colorPicker->setColor(ccc3(128,128,128));

//设置一张背景图片,但是却不起作用,至今没解决,有谁解决了,说一声

//colorPicker->setBackground(CCSprite::create("HelloWorld.png"));

//为colorPicker添加事件监听函数

colorPicker->addTargetWithActionForControlEvents(this,cccontrol_selector(HelloWorld::colorValueChanged),

CCControlEventValueChanged);

//设置位置

colorPicker->setPosition(ccp(240,160));

this->addChild(colorPicker);

bRet = true;

} while (0);

return bRet;

}

void HelloWorld::colorValueChanged(CCObject * pSender,CCControlEvent controlEvent)

{

CCLabelTTF * title = (CCLabelTTF *)this->getChildByTag(1);

CCControlColourPicker * pPicker = (CCControlColourPicker *)pSender;

//这里需要注意了,本人用的cocos2d-x的版本是2.2,应该用pPicker调用getColor函数,但据本人查看他人的

//博客,他们都是用的getColorValue函数,他们应该是早一点的版本

title->setString(CCString::createWithFormat("#%03d%03d%03d",pPicker->getColor().r,pPicker->getColor().g,

pPicker->getColor().b)->getCString());

}

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港