Cocos2d-x 3.1.1 學習日誌4--cocos2d-x解決中文亂碼問題的幾種辦法,cocos2dx權威指南

來源:互聯網
上載者:User

Cocos2d-x 3.1.1 學習日誌4--cocos2d-x解決中文亂碼問題的幾種辦法,cocos2dx權威指南

   做個打飛機的遊戲,由於版本太新,網上基本沒有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文亂碼的問題。無奈只好Google百度尋求答案,明白了這個問題的緣由。因為cocos2d-x內部是以utf8處理文本的,而VS直接輸入時文本編碼為GBK,如果添加L標誌,則為Unicode編碼。

    解決這個問題有三種辦法:

  1. 將原始碼檔案儲存為utf8編碼,不過由於編譯器的問題,這種方式會導致很多無法預測的問題

  2. 將字串用utf8編碼集中存到一檔案中,然後用代碼讀取這些字串來使用,這種辦法還能很好的支援多語言版本

  3. 使用字串時,先將其轉換為utf8編碼

我最終使用了第三種方法,第一種撇開不說,第二種實現起來比較麻煩,第三種則要方便很多。

   //加這個函數,G2U,我自己寫的函數名。
glview=GLView::create(G2U("飛機大戰"));


//然後把這個函數加上

char* AppDelegate::G2U(const char* gb2312)  
{  
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);  
wchar_t* wstr = new wchar_t[len+1];  
memset(wstr, 0, len+1);  
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);  
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);  
char* str = new char[len+1];  
memset(str, 0, len+1);  
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);  
if(wstr) delete[] wstr;  
return str;  
}
    

//然後在標頭檔裡面加上函式宣告就可以了

char*  G2U(const char* gb2312) ; 


不懂的可以加我的QQ群: 239982941(一起學習cocos2dx)

     


最近在學cocos2d-x,看到已經出日文書了,不知道中文版的書要什時才出呀

樓主說的是Akihiro Matuura撰寫的第一本Cocos2D-X的日文教程吧,好像這書還挺暢銷的。不過中文版的目前已經有幾本了呀,目前我是極力推薦《Cocos2D-x權威指南》,因為這本書是我幾個做開發的朋友都推薦的,微博上也很多大神推薦,非常不錯的!而且有訊息說今年內會陸續出中文教程,樓主耐心等吧。
 
對於Cocos2D-X這遊戲引擎的幾個簡單問題,

1、理論上cocos2d-x官方表明支援的平台毫無疑問你都是可以進行移植的,這正是它跨平台的優勢所在。
2、cocos2d-x的跨平台特性體現在它是使用C++作為程式設計語言進行開發,並且提供了各個平台編譯啟動並執行解決方案。你無論在什麼開發環境下,都可以進行開發,你的編寫過程無非是用C++寫代碼邏輯。當然你最終想在各個平台部署,還要進行一些特殊處理。比如ios的你需要配置mac下的開發環境,安裝xcode,安裝認證等等,android你需要安裝NDK、ADT等等,我就不贅述了。具體過程網上搜教程一步一步來,大家都是這麼摸索過來的。先逮著一個你熟悉的開發環境和目標平台做,比如先用VS開發,編譯到安卓或者xcode開發運行到ios。
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.