cocos2d-x 常用代码、高频使用代码【CCLayer、CCEditBox编辑框、CCControlButton按钮、CCLabelTTF标签、CCSpriteBatchNode渲染、CCMen】

来源:互联网 发布:星空棒棒糖淘宝网 编辑:程序博客网 时间:2024/05/20 08:44

0、缩放结点

//缩放结点void scale(CCNode *node,  const CCSize &dstSize){    CCSize sz = node->getContentSize();    float scaleX = dstSize.width / sz.width;    float scaleY = dstSize.height / sz.height;    node->setScale(scaleX, scaleY);}

一、创建一个CCLayer

#ifndef _MYLAYER_H_#define _MYLAYER_H_#include "cocos2d.h"class MyLayer : public cocos2d::CCLayer{public:    virtual bool init();       static cocos2d::CCScene* scene();     CREATE_FUNC(MyLayer);           cocos2d::CCSize winSize;};#endifCCScene* MyLayer::scene(){    CCScene *scene = CCScene::create();    MyLayer *layer = MyLayer::create();    scene->addChild(layer);    return scene;}bool MyLayer::init(){    if ( !CCLayer::init() )    {        return false;    }    winSize = CCDirector::sharedDirector()->getVisibleSize();    return true;}

二、CCEditBox编辑框(文本框、密码框)

//添加用户名文本框    CCScale9Sprite* ssp1=CCScale9Sprite::create("textField.png");    ssp1->setPreferredSize(CCSizeMake(100, 50));    ssp1->setAnchorPoint(ccp(0.5, 0.5));        CCEditBox *nameBox = CCEditBox::create(CCSizeMake(100, 50), ssp1);    nameBox->setTag(1000);    nameBox->setPlaceHolder("输入用户名");    nameBox->setFontColor(ccc3(255, 0, 255));    nameBox->setPosition(ccp(50, 50));    nameBox->setMaxLength(16);    nameBox->setInputMode(kEditBoxInputModeAny);    this->addChild(nameBox);

三、CCControlButton按钮

//登录、退出回调函数void LoginScene::call_login(CCObject* pObj, cocos2d::extension::CCControlEvent event){}//添加登录CCScale9Sprite* ssp = CCScale9Sprite::create("button.png");ssp->setPreferredSize(CCSizeMake(100, 50));ssp->setAnchorPoint(ccp(0.5, 0.5));CCControlButton* controlBtn = CCControlButton::create(ssp);controlBtn->setPreferredSize(CCSizeMake(100, 50));controlBtn->setPosition(ccp(100, 100));controlBtn->addTargetWithActionForControlEvents(this, cccontrol_selector(LoginScene::call_login), CCControlEventTouchUpInside);this->addChild(controlBtn);

四、CCLabelTTF标签

CCLabelTTF *m_lbl = CCLabelTTF::create("Hello,World", "Arial", 45.0);m_lbl->setColor(ccc3(255, 0, 0));m_lbl->setPosition(ccp(500, 300));this->addChild(m_lbl);

五、CCSpriteBatchNode的使用

CCSpriteBatchNode *batch = CCSpriteBatchNode::create("1.png");batch->setPosition(CCPointZero);this->addChild(batch);CCSprite *sprite = CCSprite::createWithTexture(batch->getTexture());sprite->setPosition(ccp(100, 200));this->addChild(sprite);

六、CCMenu、CCMenuItemImage菜单的使用

CCMenu *menu = CCMenu::create();menu->setPosition(ccp(0, 0));this->addChild(menu);    CCMenuItem *item = CCMenuItemImage::create("1.png", "1.png");item->setPosition(ccp(200, 200));menu->addChild(item);


0 0
原创粉丝点击