cocos2d-x教程显示中文的问题.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
cocos2d-x显示中文的问题 现在许多人都选择使用COCOS2D-X作为2D游戏引擎开发跨平台的智能手机游戏,有些朋友主要从苹果向WINDOWS平台转换;另外一部分则是相反地方向。 无论如何,都面对一个中文的问题-除非你不做中文版本。 且看后者,这其中的大多数用户都是基于WINDOWS+VS平台先编译WIN32版本的COCOS2D-X游戏,再基于ECLIPSE等平台编译,最后再安装到手机上。 本人探讨的是,在VS2010+WINDOWS7下如何显示中文的问题(当然,也有一个在将来的手机平台的显示问题)。 先看下面的转载文章 //我在WIN32开发是这样解决的. #ifdef WIN32 #define UTEXT(str) GBKToUTF8(str) #else #define UTEXT(str) str #endif #ifdef WIN32 #include "third_party/win32/iconv/iconv.h" static char g_GBKConvUTF8Buf[5000] = {0}; const char* GBKToUTF8(const char *strChar) { iconv_t iconvH; iconvH = iconv_open("utf-8","gb2312"); if (iconvH == 0) { return NULL; } size_t strLength = strlen(strChar); size_t outLength = strLength<<2; size_t copyLength = outLength; memset(g_GBKConvUTF8Buf, 0, 5000); char* utbuf = (char*) malloc(outLength); char* pBuff = outbuf; memset( outbuf, 0, outLength); if (-1 == iconv(iconvH, &strChar, &strLength, &outbuf, &outLength)) { iconv_close(iconvH); return NULL; } memcpy(g_GBKConvUTF8Buf,pBuff,copyLength); free(pBuff); iconv_close(iconvH); return g_GBKConvUTF8Buf; } #endif //使用的时候酱紫 CCLabelTTF* pLabel = CCLabelTTF::labelWithString(UTEXT("开始游戏"), "Arial", 24); //仅供参考... //PS:这样处理以后文件不必改成utf-8无签名编码了. 另外的问题,请查看: 原文:/cocos2d-x/archive/2012/02/26/2368873.html 很高兴你来到我的博客,同时也要感谢你对cocos2d-x引擎的支持。不过,既然你在这个时候来到这里,那八成是因为你遇到了麻烦——在你的cocos2d-x应用中,中文的显示似乎不太正常。 虽然cocos2d-x是一个跨平台的2D游戏引擎,但是目前我只使用VC在Win32平台下学习她。如果你是在其他平台上做开发,那么这篇文章对你可能没有太大帮助,我建议你阅读cocos2d-x的代码,找出问题的关键,从而定制一个可行的解决方案。 作为一名初学者,你必定像我一样跟着教程将代码敲进编辑器里,保存,编译,运行。却惊奇地发现中文字符串要么不显示了,要么显示成了乱码。心里想着,天啊,什么地方出问题了。然后打开百度、谷歌,有哪些信誉好的足球投注网站“cocos2d-x中文”。于是你找到了解决方案,要把文件保存为“无签名的UTF-8”编码。(这是最终可行的方案吗???-NONONO) 按照上面的方法操作,编译,运行,这时你已经可以看到中文字符显示正常了。如果你还有别的什么重要的事情要做,没有时间听我在这里废话,那么你现在就可以点击窗口上的叉叉离开了。 。。。。。。 咳咳。。。 你还在这里?你还想听听为什么会这样吗? 额。。。好吧,那我就简单说一下。以创建一个label为例,当我们使用 CCLabelTTF * CCLabelTTF::labelWithString(const char *label, const char *fontName, float fontSize) 来创建label的时候,实际上这里的const

文档评论(0)

PPT精品 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档