cocos2d與cocos2dx多語言問題(讀取文件中得信息)

cocos2dx多語言的核心代碼全部的內容就在下面這個方法中html

void getInfomations(){app

        std::string defLanguage;iphone

       cocos2d::LanguageType la = cocos2d::Application::getInstance() -> getCurrentLanguage();spa

        switch (la) {code

            case cocos2d::LanguageType::CHINESE:xml

                defLanguage = "chinese";htm

                break;ip

                

            default:get

                break;string

        }紅色部分是判斷設備語言

        

        //讀取plist

        const char *testPlistPath = "BSPlistDatas\\MutlLanguage.plist";

        std::string fullPath = cocos2d::CCFileUtils::getInstance() -> fullPathFromRelativeFile("MutlLanguage.plist",testPlistPath); 墨綠色是設置plist文件的路徑

        cocos2d::CCDictionary *plistDic = cocos2d::CCDictionary::createWithContentsOfFile(fullPath.c_str());

        

        cocos2d::CCDictionary *levelDic = dynamic_cast<cocos2d::CCDictionary *>(plistDic -> objectForKey("language"));    黃色部分是根據plist路徑來讀取plist裏賣弄的內容

        

        cocos2d::CCDictionary* langDic = NULL;

        if(defLanguage == "chinese")

        {

            langDic = dynamic_cast<cocos2d::CCDictionary*>(levelDic->objectForKey("chinese"));

        }

        else{

            langDic = dynamic_cast<cocos2d::CCDictionary*>(levelDic->objectForKey("english"));

        }

        //cocos2d::CCDictionary* farScene = dynamic_cast<cocos2d::CCDictionary*>(levelDic->objectForKey("bg_far_scene"));

        btnP = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("play"));      //play按鍵文字

        btnO = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("options"));      //options按鍵文字

        btnR = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("records"));      //records按鍵文字

        btnH = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("help"));      //help按鍵文字

        btnMe = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("menu"));      //play按鍵文字

        btnRe = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("reset"));      //options按鍵文字

        btnPa = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("pass"));      //records按鍵文字

        btnOn = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("on"));      //help按鍵文字

        btnOff = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("off"));      //play按鍵文字

        btnSo = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("sound on/off"));      //options按鍵文字

        btn1On = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("1-10 only"));      //options按鍵文字

        btnBa = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("back"));      //records按鍵文字

        btnPl = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("played"));      //help按鍵文字

        btnSol = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("solved"));      //play按鍵文字

        btnPad = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("passed"));      //options按鍵文字

        btnNe = dynamic_cast<cocos2d::CCString*>(langDic->objectForKey("next"));      //records按鍵文字

        //cocos2d::CCPoint point = cocos2d::PointFromString(farScene->valueForKey("pos")->getCString());

        

        cocos2d::CCLog("path = %s", btnP -> getCString());

        cocos2d::CCLog("pos = %s", btnO -> getCString());

    }

附帶plist的source code格式的文件信息,方便讀者理解

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>language</key>

<dict>

<key>english</key>

<dict>

<key>play</key>

<string>Play</string>

<key>options</key>

<string>Options</string>

<key>records</key>

<string>Records</string>

<key>help</key>

<string>Help</string>

<key>menu</key>

<string>Menu</string>

<key>reset</key>

<string>Reset</string>

<key>pass</key>

<string>Pass</string>

<key>on</key>

<string>On</string>

<key>off</key>

<string>Off</string>

<key>sound on/off</key>

<string>Sound On/off</string>

<key>1-10 only</key>

<string>1-10 Only</string>

<key>back</key>

<string>Back</string>

<key>played</key>

<string>Played</string>

<key>solved</key>

<string>Solved</string>

<key>passed</key>

<string>Passed</string>

<key>next</key>

<string>Next</string>

</dict>

<key>chinese</key>

<dict>

<key>play</key>

<string>開始</string>

<key>options</key>

<string>設置</string>

<key>records</key>

<string>記錄</string>

<key>help</key>

<string>幫助</string>

<key>menu</key>

<string>菜單</string>

<key>reset</key>

<string>重置</string>

<key>pass</key>

<string>跳過</string>

<key>on</key>

<string></string>

<key>off</key>

<string></string>

<key>sound on/off</key>

<string>聲音 /</string>

<key>1-10 only</key>

<string>1-10 什麼</string>

<key>back</key>

<string>返回</string>

<key>played</key>

<string>關卡</string>

<key>solved</key>

<string>完成</string>

<key>passed</key>

<string>跳過</string>

<key>next</key>

<string>前進</string>

</dict>

</dict>

</dict>

</plist>

-----------------------------------------------------------------------------------------------------

如下是cocos2d的多語言的解決方案(網址)

http://www.himigame.com/iphone-cocos2d/608.html

相關文章
相關標籤/搜索