C++之旅 QQ群:201704374
伸手党的救星,1T资料等你来战
1、cclabel
2、cclabelTTF
3、cclabelAtlas
1、cclabel
#ifndef __T07cclabel_H__ #define __T07cclabel_H__ #include "cocos2d.h" USING_NS_CC; class T07cclabel : public cclayer { public: static CCScene* scene(); CREATE_FUNC(T07cclabel); bool init(); bool ccTouchBegan(CCTouch *pTouch,CCEvent *pEvent); void ccTouchMoved(CCTouch *pTouch,CCEvent *pEvent); }; #endif
#include "T07cclabel.h" static const char* _font[] = { "AppleGothic","HiraKakuProN-W6","HiraKakuProN-W3","MarkerFelt-Thin","STHeitiK-Medium","STHeitiK-Light","TimesNewRomanPSMT","Helvetica-Oblique","Helvetica-Boldoblique","Helvetica","Helvetica-Bold","TimesNewRomanPS-BoldMT","TimesNewRomanPS-BoldItalicMT","TimesNewRomanPS-ItalicMT","Verdana-Bold","Verdana-BoldItalic","Verdana","Verdana-Italic","Georgia-Bold","Georgia","Georgia-BoldItalic","Georgia-Italic","ArialRoundedMTBold","TrebuchetMS-Italic","TrebuchetMS","Trebuchet-BoldItalic","TrebuchetMS-Bold","STHeitiTC-Light","STHeitiTC-Medium","GeezaPro-Bold","GeezaPro","Courier","Courier-Boldoblique","Courier-Oblique","Courier-Bold","ArialMT","Arial-BoldMT","Arial-BoldItalicMT","Arial-ItalicMT","STHeitiJ-Medium","STHeitiJ-Light","ArialHebrew","ArialHebrew-Bold","CourierNewPS-BoldMT","CourierNewPS-BoldItalicMT","CourierNewPSMT","Thonburi-Bold","AmericanTypewriter","AmericanTypewriter-Bold","STHeitiSC-Medium","STHeitiSC-Light","HelveticaNeue","HelveticaNeue-Bold","Zapfino" }; CCScene* T07cclabel::scene() { CCScene* scene = CCScene::create(); T07cclabel* layer = T07cclabel::create(); scene->addChild(layer); return scene; } bool T07cclabel::init() { cclayer::init(); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); #if 0 cclabelTTF* ttf = cclabelTTF::create("Content","Arial",24); addChild(ttf); ttf->setPosition(ccp(winSize.width/2,winSize.height/2)); #endif int count = sizeof(_font)/sizeof(*_font); for (int i =0; i < count; i++) { cclabelTTF* ttf = cclabelTTF::create(_font[i],_font[i],24); addChild(ttf); ttf->setPosition(ccp(winSize.width/2,i * 24 + 12)); } setTouchEnabled(true); setTouchMode(kCCtouchesOneByOne); return true; } bool T07cclabel::ccTouchBegan(CCTouch *pTouch,CCEvent *pEvent) { return true; } void T07cclabel::ccTouchMoved(CCTouch *pTouch,CCEvent *pEvent) { this->setPositionY(getPositionY() + pTouch->getDelta().y); }
2、cclabelTTF
3、cclabelAtlas
#ifndef __T08cclabelAtlas_H__ #define __T08cclabelAtlas_H__ // cclabelTTF cclabelAtlas cclabelBMFont #include "cocos2d.h" USING_NS_CC; class T08cclabelAtlas : public cclayer { public: static CCScene* scene(); CREATE_FUNC(T08cclabelAtlas); bool init(); }; #endif
#include "T08cclabelAtlas.h" CCScene* T08cclabelAtlas::scene() { CCScene* s = CCScene::create(); T08cclabelAtlas* layer = T08cclabelAtlas::create(); s->addChild(layer); return s; } bool T08cclabelAtlas::init() { cclayer::init(); CCSize winSize = CCDirector::sharedDirector()->getWinSize(); cclabelAtlas* atlas = cclabelAtlas::create("123abb123","labelatlasimg.png",24,32,'0'); addChild(atlas); atlas->setPosition(ccp(winSize.width / 2,winSize.height / 2)); // CCSprite* sp = CCSprite::create("Closenormal.png"); // addChild(sp); // sp->setPosition(ccp(winSize.width / 2,winSize.height / 2)); return true; }
三、应用场合
1、cclabel
2、cclabelTTF
每个文字可以是精灵,经行精灵操作
3、cclabelAtlas
分数显示