cocos2d-x GUI控件的使用(cocos2d-x2.1)
2013-03-06 17:38
288 查看
在使用extensions时都需要额外指定include、lib,例如笔者的VS11环境,右键项目 属性-->配置属性-->VC++目录在包含目录中添加F:\cocos2d-2.1beta3-x-2.1.1\extensions;以及在链接器-->命令行添加libextensions.lib或者使用代码添加
进入程序中需要将使用到的头文件写入,可以直接写#include “cocos-ext.h”(它包含了extensions的所有头文件引用),然后添加命名空间声明:USING_NS_CC_EXT;
对于各种GUI控件可以在Samples的TestCpp的ExtensionsTest\ControlExtensionTest查看学习
下面这个代码参考了CCControlSwitchTest
#pragma comment(lib, "libextensions.lib")
进入程序中需要将使用到的头文件写入,可以直接写#include “cocos-ext.h”(它包含了extensions的所有头文件引用),然后添加命名空间声明:USING_NS_CC_EXT;
对于各种GUI控件可以在Samples的TestCpp的ExtensionsTest\ControlExtensionTest查看学习
下面这个代码参考了CCControlSwitchTest
#pragma once #include "cocos2d.h" #include "cocos-ext.h" #pragma comment(lib, "libextensions.lib") USING_NS_CC_EXT; class HelpLayer : public cocos2d::CCLayer { public: HelpLayer(void); ~HelpLayer(void); bool init(); CREATE_FUNC(HelpLayer); cocos2d::CCLabelTTF *m_valueLabel; void valueChanged(cocos2d::CCObject *sender, CCControlEvent controlEvent); };
#include "HelpLayer.h" using namespace cocos2d; HelpLayer::HelpLayer(void) { m_valueLabel = NULL; } HelpLayer::~HelpLayer(void) { CC_SAFE_RELEASE(m_valueLabel); } bool HelpLayer::init() { bool bRet = false; do { CC_BREAK_IF(!CCLayer::init()); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); // switch controler CCControlSwitch *switchControl = CCControlSwitch::create ( CCSprite::create("extensions/switch-mask.png"), CCSprite::create("extensions/switch-on.png"), CCSprite::create("extensions/switch-off.png"), CCSprite::create("extensions/switch-thumb.png"), CCLabelTTF::create("on", "Arial-BoldMT", 16), CCLabelTTF::create("off", "Arial-BoldMT", 16) ); switchControl->setOn(true); switchControl->setPosition(ccp(winSize.width / 2 + 50, winSize.height / 2)); this->addChild(switchControl); switchControl->addTargetWithActionForControlEvents(this, cccontrol_selector(HelpLayer::valueChanged), CCControlEventValueChanged); // button CCScale9Sprite *background = CCScale9Sprite::create("extensions/buttonBackground.png"); background->setContentSize(CCSizeMake(80, 50)); background->setPosition(ccp(winSize.width / 2 - 100, winSize.height / 2)); this->addChild(background); m_valueLabel = CCLabelTTF::create("ON", "Marker Felt", 30); m_valueLabel->retain(); m_valueLabel->setPosition(background->getPosition()); this->addChild(m_valueLabel); bRet = true; } while (0); return bRet; } void HelpLayer::valueChanged(cocos2d::CCObject *sender, CCControlEvent controlEvent) { CCControlSwitch *pSwitch = (CCControlSwitch*)sender; if (pSwitch->isOn()) { m_valueLabel->setString("ON"); } else { m_valueLabel->setString("OFF"); } }程序运行如下:
相关文章推荐
- Cocos2d-JS studio基础控件的使用
- cocos2d-x 类似进度条的控件使用
- Cocos2d怎样使用原生态的控件
- 如何使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景 分享0
- struts2.1 datetimepicker日期控件的使用
- 2.1 文本类控件的使用
- 如何使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- Cocos2d-JS项目之二:studio基础控件的使用
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- Cocos2d-x中控件CCControlStepper的使用
- struts2.1 datetimepicker日期控件的使用
- Cocos2d-x控件使用CCControlSlider<代码演示>
- Cocos2d-x控件使用CCControlSwitch<代码演示>
- cocos2d 2.1使用Sneakyinput报错Cannot find protocol declaration for CCTargetTouchDelegate/CCStandardTouch
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- 使用CocosBuilder2.1结合cocos2d-x2.0.3创建动画场景
- Cocos2d-x常用控件使用方式.
- cocos2d控件(1)-使用URL创建的Sprite
- cocos2d-x控件使用CCControlButton<代码演示>