【Cocos2d-x】之检测语言环境

来源:互联网 发布:曙光大数据学院是几本 编辑:程序博客网 时间:2024/05/16 15:27

第一次修改cocos底层,想想还有点小激动呢~~~~~~~哈哈哈

言归正传----我的引擎版本是cocos2d-x  3.6

最近公司准备做国际化版本的游戏,因为市场面向印尼市场,所以需要对手机本地的语言进行检测,来进行资源包的切换。

经过对cocos底层的一番研究,发现cocos可以看到的“底层”并没有对印尼语言的支持。然后经过对项目中引擎相关各个文件夹的查看,终于被我发现了奥秘~~


正儿八经的说一下对语言的检测吧:

这个分两种情况:1、是引擎可以看到的底层已经写好的语言(就是你F12可以进的去找得到的)  2、就是F12找不到的语言,就需要你对引擎真正的底层进行修改


1、你只需要在AppDelegate.cpp中加入类似以下代码 

LanguageType la = CCApplication::sharedApplication()->getCurrentLanguage();switch (la){case cocos2d::LanguageType::ENGLISH:log("English");break;case cocos2d::LanguageType::CHINESE:log("Chinese");break;default:break;}


2、 我需要获取的语言是印尼语,这个里面并没有写,所以我需要手动添加。

首先,在枚举类型里面添加  INDONESIAN   

然后,在电脑上找到项目中底层的语言环境,这是我的路径(cocos2dx 3.6 版本)D:\WorkspaceCocos\test\cocos2d\cocos\platform\win32\CCApplication-win32.cpp   

打开CCApplication-win32.cpp,找到里面的方法getCurrentLanguage方法,在方法的最底下添加如下代码:

case  LANG_INDONESIAN:ret = LanguageType::INDONESIAN;break;

这里的  case LANG_INDONESIAN:  可以根据已有的 case LANG_CHINESE: F12进去找到。

然后在 安卓下面再找到application类做类似的就该就好了(可以根据你自己的平台来做 相应的修改)

接下来的步骤按照第一种情况来做就好了








1 0
原创粉丝点击