综述
Cocos2d-x提供了一套易于使用的UI API来满足你的GUI需求,其中包括:Label、Menu、MenuItems、Buttons和Views。
Label(标签)
Cocos2d-x中提供了Label(标签)对象来创建TTF、BMFont和SystemFont文本。
Label BMFont(BMFont标签)
BMFont是使用位图字体的标签类型。位图字体是由点或像素矩阵所组成,这些点和像素代表了字符图形的外形和大小。位图字体的使用很方便也很容易,但它不可伸缩,其每个尺寸都需要一个单独的字体。
@H_301_13@Label类是@H_301_13@SpriteBatchNode的子类,所以@H_301_13@Label的每个字符都可以看作一个@H_301_13@Sprite(精灵),都具有旋转、缩放、着色,改变锚点以及其他继承自@H_301_13@Node对象的属性。
创建一个@H_301_13@BMFont文本需要两个文件:一个.fnt文件和一个显示每一个对象的.png格式的图片。利用像Glyph Designer这样的工具可以自动创建该类型的文件。
创建一个BMFont文本:
1
|
auto myLabel = Label::createWithBMFont(
"myFont.fnt"
,
"My Label Text"
);
|
字符串内所有的字符都要包含在MyFont.fnt文件中,否则它们将不会被渲染。假设渲染一个缺少字符的@H_301_13@Label,那么就要确保它们都在你的MyFont.fnt文件中。
Label TTF(TTF标签)
TTF是一个True Type Font的标签类型。创建TTF标签你需要指定一个.ttf格式的字体文件名、文本字符串以及字体大小。与BMFont不同,TTF可以改变字体的显示大小,无需单独的字体。
创建一个TTF标签:
// create a TTFConfig files for labels to share
TTFConfig labelConfig;
labelConfig.fontFilePath =
;
labelConfig.fontSize = 16;
labelConfig.glyphs = GlyphCollection::DYNAMIC;
labelConfig.outlineSize = 0;
labelConfig.customGlyphs = nullptr.
labelConfig.distanceFieldEnabled =
false
;
// create a TTF Label from the TTFConfig file;
auto myLabel = Label::createWithTTF(labelConfig,serif"> TTFConfig还可以用于显示中文、日文和韩文字符。
标签:
菜单和菜单项@H_301_13@Menu是游戏选项的导航。菜单通常包含如播放、退出、设置和关于等选项。通常以可点击的按钮形式显示。 菜单由什么组成@H_301_13@Menu是一个特殊的@H_301_13@Node对象,下列代码创建一个空Menu: 菜单选项和添加到菜单@H_301_13@MenuItems是@H_301_13@Menu的核心。菜单选项通常有一个正常状态、一个被选择的状态以及一个回调。回调通常发生在@H_301_13@MenuItems被选择的时候。
菜单还可以使用@H_301_13@MenuItem对象的@H_301_13@Vector创建:
|