COCOS學習 字串,標籤和選單(4)

2021-09-24 20:14:11 字數 4028 閱讀 8392

_string是cocos2d-x通用的乙個字串類,它的設計模擬了oc的nsstring類。

主要有兩個靜態函式來建立它。create和createwithformat

__string* __string::create(const std::string& str);

__string* __string::createwithformat(const char* format, ...);

其它函式參照官方文件。

label類可以建立系統字型標籤,ttf字型標籤和點陣圖字型標籤(.png,.fnt)

具體函式**如下

auto label1 = label::createwithsystemfont("hello world1", "arial", 36);

label1->setposition(vec2(origin.x + visiblesize.width / 2,

origin.y + visiblesize.height - 100));

this->addchild(label1, 1);

auto label2 = label::createwithttf("hello world2", "fonts/marker felt.ttf", 36);

label2->setposition(vec2(origin.x + visiblesize.width / 2,

origin.y + visiblesize.height - 200));

this->addchild(label2, 1);

auto label3 = label::createwithbmfont("fonts/bmfont.fnt", "hello world3");

label3->setposition(vec2(origin.x + visiblesize.width / 2,

origin.y + visiblesize.height - 300));

this->addchild(label3, 1);

ttfconfig ttfconfig("fonts/marker felt.ttf",

36,glyphcollection::dynamic);

auto label4 = label::createwithttf(ttfconfig, "hello world4");

label4->setposition(vec2(origin.x + visiblesize.width / 2,

origin.y + visiblesize.height - 400));

this->addchild(label4, 1);

ttfconfig.outlinesize = 4;

auto label5 = label::createwithttf(ttfconfig, "hello world5");

label5->setposition(vec2(origin.x + visiblesize.width / 2,

origin.y + visiblesize.height - 500));

label5->enableshadow(color4b(255, 255, 255, 128), size(4, -4));

label5->setcolor(color3b::red);

this->addchild(label5, 1);

就是中有你需要的標籤字型,從中讀取就可以了。

選單相關類包含選單類menu和選單項類menuitem,後者由很多不同的子類,比如labelitem,spriteitem

選單項由三個基本狀態,正常,選中和不可用。

**如下

///

menuitemfont::setfontname("times new roman");

menuitemfont::setfontsize(86);

menuitemfont *item1 = menuitemfont::create("start",

cc_callback_1(chapterfour::menuitem1_4_3_1callback, this));

item1->setposition(vec2(origin.x + 700,

origin.y + visiblesize.height - 100));

menuitematlasfont *item2 = menuitematlasfont::create("help",

"menu/tuffy_bold_italic-charmap.png", 48, 65, ' ',

cc_callback_1(chapterfour::menuitem2_4_3_1callback, this));

item2->setposition(vec2(origin.x + 700,

origin.y + visiblesize.height - 300));

menu* mn_1 = menu::create(item1, item2, null);

mn_1->setposition(vec2::zero);

this->addchild(mn_1);

///

精靈選單和選單與普通選單類沒什麼區別。唯一的區別就是精靈選單在建立前需要先建立相對於的精靈。

如正常狀態的,選中狀態的,和被禁用狀態的。

**如下

//開始精靈

sprite *startspritenormal = sprite::create("menu/start-up.png");

sprite *startspriteselected = sprite::create("menu/start-down.png");

menuitemsprite *startmenuitem = menuitemsprite::create(startspritenormal,

startspriteselected,

cc_callback_1(chapterfour::menuitemstartcallback, this));

startmenuitem->setposition(vec2(origin.x + 1000,

origin.y + visiblesize.height - 100));

// 設定選單

menuitemimage *settingmenuitem = menuitemimage::create(

"menu/setting-up.png",

"menu/setting-down.png",

cc_callback_1(chapterfour::menuitemsettingcallback, this));

settingmenuitem->setposition(vec2(origin.x + 1000,

origin.y + visiblesize.height - 300));

// 幫助選單

menuitemimage *helpmenuitem = menuitemimage::create(

"menu/help-up.png",

"menu/help-down.png",

cc_callback_1(chapterfour::menuitemhelpcallback, this));

helpmenuitem->setposition(vec2(origin.x + 1000,

origin.y + visiblesize.height - 500));

menu* mu_2 = menu::create(startmenuitem, settingmenuitem, helpmenuitem, null);

mu_2->setposition(vec2::zero);

this->addchild(mu_2);

就是callback,開啟一些選項之類的選單。

Python學習 字串

前面學了基本的python語法和內容後也會寫一些程式了,每寫完乙個程式都有莫大的自豪感 成就感,學習python一定要盡可能自己琢磨演算法和程式語言的使用,穩步提公升,語法又上線,演算法無止境,嘻嘻!今天決定好好介紹下字串 序列 字串的格式化輸出 以及字串的轉義字元。1 序列中的所有元素都是有編號的...

Python學習 字串

python的字串和c語言中的字串有著很多的差異,在python中無論是雙引號還是單引號中的字元都是字串。使用起來相對靈活。例如 this is a string 或者 this is a string 對於字串內部存在引號內容,在python中可以有一種簡易的做法 this is a string...

python學習字串

賦值 str1 abcdfeg 索引 str1 2 插入字串 str1 str1 2 插入字串 str1 2 str1.capitalize capitalize 把字串的第乙個字元改為大寫 casefold 把整個字串的所有字元改為小寫 center width 將字串居中,並使用空格填充至長度 ...