cocos2dx 3 4 Label中文顯示

2021-07-01 23:01:56 字數 1652 閱讀 3694

第一種方式:

label* a = label::createwithsystemfont("中國", "宋體", 30);

a->setposition(point(100, 200));

addchild(a); 

這種方式也可以顯示中文,不過顯示中文的個數必須是雙數,單數會產生莫名其妙的錯誤,不建議使用

第二種方式          這種方式只能使用已經設定好的中文

是採用xml的方式顯示中文

xml內容:

label* label = label::createwithsystemfont(b,  "宋體", 17);

第三種方式

這個是我自己在網上搜的一些資料整理而成的,我給封裝成了乙個類,用的時候新增該類,直接用就可以了

#ifndef _chinese_display_h_

#define _chinese_display_h_

#include

#include "stringapiset.h"

#include "winerror.h"

using namespace std;

class chinesedisplay

private:

static wstring str2wstr(const string &str)

static string widebyte2utf8(const wstring& text)

char* resultstring = new char[asciisize];

int convresult = ::widechartomultibyte(cp_utf8, 0, text.c_str(), text.size(), resultstring, asciisize, null, null);

if (convresult != asciisize)

std::string buffer(resultstring, convresult);

delete resultstring;

return buffer;}};

#endif

cocos2d x 滾動數字label

遊戲中有時候需要滾動計數顯示,比如新增金幣從100滾動顯示到9999,這裡封裝乙個動作,直接傳入label即可,方便使用。使用時呼叫utilslabel裡面的方法即可。utilslabel.hpp actionlabel created by xujw on 16 3 7.ifndef utilsl...

cocos2dx3 4原始碼閱讀

objloader loadobj 主要是 exportfacegrouptoshape 這個方法的處理 shapes.normals shapes.texcoords 在updatevertex方法處理過程中儲存的是頂點的資訊 頂點,法線,紋理座標 shapes.shapes.push back ...

cocos2dx3 4的多執行緒bug嚴重

這幾天發現了兩個bug,都是多執行緒的。requestlayout invalidate 來重新布局,啟用su cecreated 方法。2。非同步載入資源卡死問題。director getinstance gettexturecache addimageasync texturepath.c st...