
玩转Label 类
LabelScene.cpp
#include "LabelScene.h"#include "iconv/iconvString.h"//这里报错,请查看我写得另一篇文章cocos2d-x 3.4 中文乱码解决之道USING_NS_CC;#include "ui/CocosGUI.h"using namespace ui;Scene* LabelScene::createScene(){ // 'scene' is an autorelease object auto scene = Scene::create(); // 'layer' is an autorelease object auto layer = LabelScene::create(); // add layer as a child to scene scene->addChild(layer); // return the scene return scene;}// on "init" you need to initialize your instancebool LabelScene::init(){ ////////////////////////////// // 1. super init first if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); ///////////////////////////// // 2. add a menu item with "X" image,which is clicked to quit the program // you may modify it. // add a "close" icon to exit the progress. it's an autorelease object auto closeItem = MenuItemImage::create( "Closenormal.png","CloseSelected.png",CC_CALLBACK_1(LabelScene::menuCloseCallback,this)); closeItem->setposition(Vec2(origin.x + visibleSize.wIDth - closeItem->getContentSize().wIDth / 2,origin.y + closeItem->getContentSize().height / 2)); // create menu,it's an autorelease object auto menu = Menu::create(closeItem,NulL); menu->setposition(Vec2::ZERO); this->addChild(menu,1); ///////////////////////////// // 3. add your codes below... // add a label shows "Hello World" // create and initialize a label /* auto array_pList = Array::createWithContentsOffile("chinese.pList"); std::string info_str1;//存储新年快乐的字符串 std::string info_str2;//存储马上有钱的字符串 / *for (int i = 0; i<array_pList->count(); i++) { auto dic = (Dictionary*)array_pList->getobjectAtIndex(i);//获取array_pList中的第一个对象 int key_ID1 = 10;//因为在pList文档中,“新年快乐!”对应的ID是10 int key_ID2 = 20;//马上好运的ID int key_ID_pList = ((String*)dic->objectForKey("ID"))->intValue();//获取字典中“ID”的数值,将String型的转成整型的 if (key_ID1 == key_ID_pList) { info_str1 = ((String*)dic->objectForKey("info"))->getCString();//获得”新年快乐“文字 continue; } if (key_ID2 == key_ID_pList) { info_str2 = ((String*)dic->objectForKey("info"))->getCString();//获得”马上有钱“文字 continue; } }* / auto label_1 = LabelTTF::create(info_str1,"Arial",25); label_1->setposition(Point(100,100)); this->addChild(label_1,1); auto label_2 = LabelTTF::create(info_str2,25); label_2->setposition(Point(100,200)); this->addChild(label_2,1); */ Text* text_Title = Text::create(); Text* text_sentence_one = Text::create(); Text* text_sentence_two = Text::create(); Size textsize; textsize.wIDth = visibleSize.wIDth * 0.67; textsize.height = 20; text_Title->setSize(textsize); text_sentence_one->setSize(textsize); text_sentence_two->setSize(textsize); text_Title->setposition(ccp(visibleSize.wIDth / 5,visibleSize.height*0.90f)); text_sentence_one->setposition(ccp(visibleSize.wIDth /5,visibleSize.height*0.90f - 200.0f)); text_sentence_two->setposition(ccp(visibleSize.wIDth / 5,visibleSize.height*0.90f - 400.0f)); std::vector<std::string> vecNotice; vecNotice.push_back("喜晴(范成大)"); vecNotice.push_back("窗间梅熟落蒂,墙下笋成出林。"); vecNotice.push_back("连雨不知春去,一晴方觉夏深。"); code_convert_init(); std::string strgbk_Title = gbktoutf8(vecNotice[0].c_str()); std::string strgbk_sentence_one = gbktoutf8(vecNotice[1].c_str()); std::string strgbk_sentence_two = gbktoutf8(vecNotice[2].c_str()); text_Title->setText(strgbk_Title); text_sentence_one->setText(strgbk_sentence_one); text_sentence_two->setText(strgbk_sentence_two); text_Title->setVisible(true); text_Title->setcolor(color3B::WHITE); text_Title->setFontSize(25); addChild(text_Title); text_sentence_one->setVisible(true); text_sentence_one->setcolor(color3B::WHITE); text_sentence_one->setFontSize(25); addChild(text_sentence_one); text_sentence_two->setVisible(true); text_sentence_two->setcolor(color3B::WHITE); text_sentence_two->setFontSize(25); addChild(text_sentence_two); //创建TTF标签对象 /* *Func 创建TTF标签对象 *@parameter1 显示文字内容 *@parameter2 字体名称 *@parameter3 字体大小 */ auto label1 = LabelTTF::create("Create LabelTTF 1","Marker Felt",32); label1->setposition(visibleSize.wIDth / 2+200,visibleSize.height / 2 + 200); this->addChild(label1); //创建TTF标签对象 /* *Func 创建TTF标签对象 *@parameter1 显示文字内容 *@parameter2 字体名称 *@parameter3 字体大小 *@parameter4 标签大小 *@parameter5 文字水平对其方式 */ auto label2 = LabelTTF::create("Create LabelTTF 2","AppleGothic",32,Size(visibleSize.wIDth / 3,200),TextHAlignment::left); label2->setposition(visibleSize.wIDth / 2+200,visibleSize.height / 2+50); this->addChild(label2); //创建TTF标签对象 /* *Func 创建TTF标签对象 *@parameter1 显示文字内容 *@parameter2 字体名称 *@parameter3 字体大小 *@parameter4 标签大小 *@parameter5 文字水平对其方式 *@parameter5 文字垂直对其方式 */ auto label3 = LabelTTF::create("Create LabelTTF 3","CourIEr",TextHAlignment::left,TextVAlignment::CENTER); label3->setposition(visibleSize.wIDth / 2 + 200,visibleSize.height / 2); this->addChild(label3); //LabelBMFont and LabelAtlas //新增标签类Label /* *Func 创建Label标签对象 *@parameter1 显示文字内容 *@parameter2 字体名称 *@parameter3 字体大小 */ auto label4 = Label::create("Create Label",32); label4->setposition(visibleSize.wIDth / 2 + 200,visibleSize.height / 2 - 100); this->addChild(label4); /* *CC_CALLBACK_0 *CC_CALLBACK_1 表示调用的时候传递一个参数 */ return true;}@H_404_401@voID LabelScene::menuCloseCallback(Ref* pSender){#if (CC_TARGET_PLATFORM == CC_PLATFORM_WP8) || (CC_TARGET_PLATFORM == CC_PLATFORM_WINRT) MessageBox("You pressed the close button. windows Store Apps do not implement a close button.","Alert"); return;#endif Director::getInstance()->end();#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) exit(0);#endif}
LabelScene.h
#ifndef __LABELSCENE_SCENE_H__#define __LABELSCENE_SCENE_H__#include "cocos2d.h"class LabelScene : public cocos2d::Layer{public: // there's no 'ID' in cpp,so we recommend returning the class instance pointer static cocos2d::Scene* createScene(); // Here's a difference. Method 'init' in cocos2d-x returns bool,instead of returning 'ID' in cocos2d-iphone virtual bool init(); // a selector callback voID menuCloseCallback(cocos2d::Ref* pSender); // implement the "static create()" method manually CREATE_FUNC(LabelScene);};#endif // __LABELSCENE_SCENE_H__总结
以上是内存溢出为你收集整理的cocos2dx 玩转标签Label类全部内容,希望文章能够帮你解决cocos2dx 玩转标签Label类所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)