cocos2d-x: 中文支持[2.0.2]

中文乱码:

方法一:

选中有中文的那个cpp,点文件另存为,在保存这里竟然有个小箭头

11

点之,再点编码保存

221

 

再选这个编码

这个cpp就UTF-8化了,然后中文就正常了。

但是发现:但字符串字符数为奇数时,编译不过,同时针对个别汉字也不能编译通过。

方法二:

将需要的字符串保存于 strings.xml文件中:

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4. <dict>  
  5.     <key>title</key>  
  6.     <string>是男人就坚持20秒</string>  
  7.     <key>new_game</key>  
  8.     <string>新游戏</string>  
  9.     <key>setting_game</key>  
  10.     <string>设置</string>  
  11.     <key>quit_game</key>  
  12.     <string>退出</string>  
  13. </dict>  
  14. </plist>  
<?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>title</key>
	<string>是男人就坚持20秒</string>
	<key>new_game</key>
	<string>新游戏</string>
	<key>setting_game</key>
	<string>设置</string>
	<key>quit_game</key>
	<string>退出</string>
</dict>
</plist>

然后在代码中读取:

 

CCDictionary *strings = CCDictionary::createWithContentsOfFile("fonts/strings.xml");

const char *titleStr = (CCString*)strings->objectForKey("title")->m_sString.c_str();

......

 

详见参见:cocos2d-x[2.0.2] 实例程序TestCpp中的 LabelTest.cpp 中的函数:BMFontUnicode::BMFontUnicode()

posted @ 2013-05-29 15:34  六界剑仙  阅读(145)  评论(0)    收藏  举报