溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

cocos2d-x學(xué)習(xí)筆記(六)TextBMFont控件顯示中文亂碼或者無(wú)法顯示

發(fā)布時(shí)間:2020-07-21 12:32:16 來(lái)源:網(wǎng)絡(luò) 閱讀:2613 作者:wty530 欄目:游戲開(kāi)發(fā)

    今天用cocos studio加了一個(gè)TextBMFont控件,然后需要?jiǎng)討B(tài)修改TextBMFont控件顯示的字符串,用來(lái)顯示中文的,結(jié)果一直無(wú)法修改TextBMFont控件的值,最后原來(lái)是寫(xiě)到xml文件的中文字符串沒(méi)有保存成UTF-8格式。

=====================================================================================

記錄一下完整實(shí)現(xiàn)步驟

一、制作BMFont字體

1、下載并安裝BMFont軟件

2、因?yàn)橐玫街形淖址?,所以要進(jìn)行字體設(shè)置。選項(xiàng)->字體設(shè)置

cocos2d-x學(xué)習(xí)筆記(六)TextBMFont控件顯示中文亂碼或者無(wú)法顯示

3、設(shè)置導(dǎo)出設(shè)置,選項(xiàng)->輸出設(shè)置

cocos2d-x學(xué)習(xí)筆記(六)TextBMFont控件顯示中文亂碼或者無(wú)法顯示

4、新建txt文本,輸入所需要的字符,然后另存為UTF-8格式,否則軟件不識(shí)別

5、回到BMFont軟件,編輯->從文件中選擇字符,找到剛才保存的txt文本

6、選項(xiàng)->位圖字體另存為,這樣就生成了fnt和png格式的文件


二、新建XML文件

由于cocos2d-x直接使用會(huì)出現(xiàn)亂碼,這里我們使用將中文字符寫(xiě)到xml文件中的方法。注意文件編碼要保存為UTF-8,xml文檔格式如下

<dict>  
    <key>hello</key>  
    <string>你好</string>  
    <key>world</key>  
    <string>世界</string>  
</dict>


三、代碼中解析

auto m_res = CSLoader::createNode("test.csb");
if(m_res == nullptr)
{
return false;
}
addChild(m_res);
ui::TextBMFont* show = dynamic_cast<ui::TextBMFont*>(chestTip->getChildByName("Show"));
//創(chuàng)建詞典類實(shí)例
auto config = Dictionary::createWithContentsOfFile("Config.xml");
const char *hello = ((String*)config->objectForKey("hello"))->getCString();
show>setString(hello);


注:test.csb是在cocos studio下導(dǎo)出的文件,

需要#include "../cocos/editor-support/cocostudio/CocoStudio.h" 


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI