文字也是游戏最重要的元素之中的一个,如下就看看使用动态字体和静态字体库怎样建立文字。使用动态字体库建立的文字可以包括常常使用的不论什么字符,通常假设用户要输入名字,这就最好用动态字体库。因为你不知道用户要建立什么字符,但动态字体库比較大。假设要压缩包的大小,尽可能就用静态字体库,如下会介绍怎样制做静态字体库。windows
CCLabelTTF *label = CCLabelTTF::create(G2U("hello,世界"),"bb1519",25); label->setPosition(ccp(size.width/2,size.height/2)); this->addChild(label);因为cocos2dx在windows平台下中文字体需要进行一个转码,cocos中中文默认的是gb2312编码,而OpenGL渲染中文的时候支持UTF8编码格式,这就需要进行一个转码。否则的话显示出来会是乱码。
//转码成utf-8,windows默认gb2312 char* HelloWorld::G2U(const char* gb2312) { int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0); wchar_t* wstr = new wchar_t[len+1]; memset(wstr, 0, len+1); MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len); len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL); char* str = new char[len+1]; memset(str, 0, len+1); WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL); if(wstr) delete[] wstr; return str; }
6.设置导出选项,在BMFont上找到Option菜单,而后选择Export options。在cocos2d-x中需要按例如如下设置ide
7. 准备导出字体。在BMFont上找到Options,而后选择Save bitmap font as,会发现保存路径下多出了一个fnt文件和一个png文件(事实上这个和plist文件保存拼图信息原理差点儿相同),将它们复制到cocos2d-xproject的Resources文件夹下函数
CCLabelBMFont *labelfont = CCLabelBMFont::create("i am dingxiaowei","text.fnt"); labelfont->setPosition(ccp(size.width*0.5,size.height/2 -30)); this->addChild(labelfont);
CCLabelAtlas *labelalt = CCLabelAtlas::create("hello,alets","xxx.plist"); labelfont->setPosition(ccp(size.width*0.5,size.height/2 -30)); this->addChild(labelfont);
欢迎关注个人围脖工具
==================== 迂者 丁小未 CSDN博客专栏=================post
MyBlog:http://blog.csdn.net/dingxiaowei2013 MyQQ:1213250243学习
Unity QQ群:375151422 cocos2dx QQ群:280818155字体
====================== 相互学习,共同进步 ===================this