cocos2d x 實現中文輸出

2022-03-20 15:05:17 字數 2005 閱讀 9228

下面我們來說說如何實現中文輸出吧!

首先,個人覺得可以新建乙個tools.cpp 和 tools.h 檔案

首先在tools.h:

#ifndef _tools_h_ //預定義塊

#define  _tools_h_

#include "cocos2d.h"

#if (cc_target_platform == cc_platform_win32)

#include "iconv.h" //注意這裡可能好多同學不能匯入這個檔案,需要在專案裡面進行設定 待會兒再講

#endif

#if (cc_target_platform == cc_platform_win32) //字元轉換,使cocos2d-x在win32平台支援中文顯示

int gbktoutf8(std::string &gbkstr,const char* tocode,const char* formcode);//定義乙個進行字元轉換的函式

#endif

#endif //_tools_h_

這樣我們在tools.h裡面的**就over了 很少吧

下面就是如何實現這個函式了

在tools.cpp檔案中

#include "tools.h"

#include "iconv.h"

#if (cc_target_platform == cc_platform_win32) //字元轉換,使cocos2d-x在win32平台支援中文顯示

int gbktoutf8(std::string &gbkstr,const char* tocode,const char* formcode)

iconv_t iconvh;  iconvh = iconv_open(formcode,tocode);

if(iconvh == 0)  

return -1;

const char* strchar = gbkstr.c_str();

const char** pin = &strchar;

size_t strlength = gbkstr.length();

char* outbuf = (char*)malloc(strlength*4);

char* pbuff = outbuf;

memset(outbuf,0,strlength*4);  

size_t outlength = strlength*4;

if(-1 == iconv(iconvh,pin,&strlength,&outbuf,&outlength))

iconv_close(iconvh);  

return -1;

gbkstr = pbuff;

iconv_close(iconvh);  

return 0;

#endif

//具體**的含義還在進一步**中!

這樣我們就完成了宣告和定義轉換的函式了

下面就是如何在螢幕上顯示了,即完成轉化

其實就是乙個標籤或者選單前的乙個呼叫函式:

例如在 helloworldscene裡面輸出helloworld改成輸出:你好

ccsize size = ccdirector::shareddirector()->getwinsize();

std::string title = "你好」;

#if (cc_target_platform == cc_platform_win32)

gbktoutf8(title,"gb2312","utf-8");

#endif

cclabelttf *plabel = cclabelttf::labelwithstring(title.c_str(),"thonburi",30);

plabel->setposition(ccp(size.width / 2, size.height*0.9f));

this->addchild(plabel,1);

這樣實現中文輸出就over 了  哈哈 很簡單吧!!!

待續。。。。

cocos2dx顯示中文

從外部檔案讀取utf 8 推薦大家使用資源檔案進行配置儲存,如xml將其採用的utf 8的編碼方式儲存,自然會讓我想到,日文 韓文等待各種國家的語言都可以正常顯示了,為了你的軟體國際化.盡量採用這種方式吧!到時候根據手機系統的語言,然後動態的來讀取你檔案中的資源.先看下我們的xml檔案 html v...

cocos2d x實現中文顯示 筆記

cocos2d x在win32開發中,不能直接顯示中文,需要轉字元。cocos2d x已經自帶了乙個對應的庫iconv。如果要使用它,我們要在做以下配置 1.右鍵專案 屬性 附加包含目錄 編輯。然後新增乙個路徑,我的如下 d cocos2d x cocos2d 2.0 x 2.0.4 cocos2d...

cocos2d x 中文 亂碼問題

最近好些人都有問到,cocos2d x 對中文支援真不好。各種亂碼,甚至連注釋放在mac下都亂碼。解決操作步驟如下,備忘一下 1 選中有中文的那個cpp,點檔案另存為,在儲存這裡竟然有個小箭頭 點之,再點編碼儲存 這個cpp就utf 8化了,然後中文就正常了,好麻煩。這是現在彩鳥筆者唯一能找到方便的...