下面我們來說說如何實現中文輸出吧!
首先,個人覺得可以新建乙個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化了,然後中文就正常了,好麻煩。這是現在彩鳥筆者唯一能找到方便的...