文字也是遊戲最重要的元素之中的一個,如下就看看使用動態字體和靜態字體庫怎樣建立文字。使用動態字體庫建立的文字可以包括常常使用的不論什麼字符,通常假設用戶要輸入名字,這就最好用動態字體庫。因爲你不知道用戶要建立什麼字符,但動態字體庫比較大。假設要壓縮包的大小,儘可能就用靜態字體庫,如下會介紹怎樣製做靜態字體庫。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