cocos2dx 玩转标签Label类

cocos2dx 玩转标签Label类,第1张

概述玩转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::cre

玩转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类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1069663.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存