Cocos2d-x MenuItemFont's font and size
Posted by SunnyRx on December 25, 2015
原文地址:http://sunnyrx.github.io/2015/12/25/Cocos2dx-MenuItemFont-s-bug/
Cocos2d-x存在MenuItemFont類,用于創(chuàng)建一個Label按鈕,當(dāng)要用文字而不是圖片來制作菜單按鈕時,MenuItemFont就很有用了。
當(dāng)使用MenuItemFont需要設(shè)置字體和字號時,通常會習(xí)慣調(diào)用setFontName()和setFontSize()函數(shù),實際上這兩個函數(shù)是靜態(tài)函數(shù),分別修改全局字體名和全局字體大小,即改變默認(rèn)的設(shè)置。如果是對象調(diào)用了這兩個靜態(tài)方法,那么只有下一次create MenuItemFont對象有效果。
使用MenuItemFont時如果需要設(shè)置字體和字號,應(yīng)該調(diào)用setFontNameObj()和setFontSizeObj()函數(shù)。
以下代碼,執(zhí)行后button1為默認(rèn)字體和默認(rèn)字號,buuton2字體為黑體,字號為60。
auto button1 = MenuItemFont::create("Button I");
backButton->setFontName("黑體");
backButton->setFontSize(60);
auto button2 = MenuItemFont::create("Button II");
backButton->setFontName("微軟雅黑");
backButton->setFontSize(36);
以下代碼,執(zhí)行后button1字體為黑體,字號為60,buuton2字體為微軟雅黑,字號為36。
auto button1 = MenuItemFont::create("Button I");
backButton->setFontNameObj("黑體");
backButton->setFontSizeObj(60);
auto button2 = MenuItemFont::create("Button II");
backButton->setFontNameObj("微軟雅黑");
backButton->setFontSizeObj(36);
以下代碼將和上面代碼一樣,執(zhí)行后button1字體為黑體,字號為60,buuton2字體為微軟雅黑,字號為36。
MenuItemFont::setFontName("黑體");
MenuItemFont::setFontSize(60);
auto button1 = MenuItemFont::create("Button I");
MenuItemFont::setFontName("微軟雅黑");
MenuItemFont::setFontSize(36);
auto button2 = MenuItemFont::create("Button II");