关于Cocos2d-x MenuItemFont设置字体和字号

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类,用于创建一个Label按钮,当要用文字而不是图片来制作菜单按钮时,MenuItemFont就很有用了。

当使用MenuItemFont需要设置字体和字号时,通常会习惯调用setFontName()和setFontSize()函数,实际上这两个函数是静态函数,分别修改全局字体名和全局字体大小,即改变默认的设置。如果是对象调用了这两个静态方法,那么只有下一次create MenuItemFont对象有效果。

使用MenuItemFont时如果需要设置字体和字号,应该调用setFontNameObj()和setFontSizeObj()函数。

以下代码,执行后button1为默认字体和默认字号,buuton2字体为黑体,字号为60。

auto button1 = MenuItemFont::create("Button I");
backButton->setFontName("黑体");
backButton->setFontSize(60);

auto button2 = MenuItemFont::create("Button II");
backButton->setFontName("微软雅黑");
backButton->setFontSize(36);

以下代码,执行后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);

以下代码将和上面代码一样,执行后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");

推荐阅读更多精彩内容

  • 大家都知道,在不同操作系统、不同游览器里面默认显示的字体是不一样的,并且相同字体在不同操作系统里面渲染的效果也不尽...
    陈_宣阅读 1,225评论 0 7
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 157,624评论 24 688
  • 转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...
    腿毛裤阅读 6,032评论 0 1
  • 单词: 1. illiterate (of a person 人) not knowing how to read...
    NorahHo阅读 94评论 0 0
  • 晚风习习时 斜倚在藤椅上 看满天繁星下 忙碌的萤火虫飞来飞去 或者 在雨打芭蕉的时刻 静坐在室内 手执一本喜欢的书...
    慕容兰馨阅读 87评论 5 3