Cocos 在win32 平台上显示中文(仅实现win32)

前端之家收集整理的这篇文章主要介绍了Cocos 在win32 平台上显示中文(仅实现win32)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

测试显示 中文或者 其它平台已经判断显示的 可以借用这偷懒的方法

在cocos-x 3.2,vs2012 环境中运行的


在所使用的.h文件中私有添加

  1. inline std::string WideByte2UTF8(const wstring& text)
  2. {
  3. int asciisize = ::WideCharToMultiByte(CP_UTF8,text.c_str(),text.size(),NULL,NULL);
  4.  
  5. if (asciisize == ERROR_NO_UNICODE_TRANSLATION || asciisize == 0)
  6. {
  7. return string();
  8. }
  9.  
  10. char* resultstring = new char[asciisize];
  11.  
  12. int convresult = ::WideCharToMultiByte(CP_UTF8,resultstring,asciisize,NULL);
  13.  
  14. if (convresult != asciisize)
  15. {
  16. return string();
  17. }
  18.  
  19. std::string buffer(resultstring,convresult);
  20.  
  21. delete[] resultstring;
  22.  
  23. return buffer;
  24. }


在cpp中调用

  1. std::string str = "";
  2. str = WideByte2UTF8(L"你好世界");
  3. Label* label = Label::createWithSystemFont(str.c_str(),"Arial",20);
  4. label->setColor(Color3B::RED);
  5. label->setPosition(200,200);
  6. this->addChild(label);

猜你在找的Cocos2d-x相关文章