对于UI界面,目前常用的有字体显示,标签,菜单,进度条,调度器,自定义文字按钮,自定义拖动进度条。(后续添加)
我们的代码都是直接在新建项目HelloWorld中的HelloWorldScene.cpp的init()函数中操作。
字体和标签显示:
<span style="font-size:18px;">CCSize s = CCDirector::sharedDirector()->getWinSize();
// !!!!!字体以及标签!!!!!
// 参数:1、要显示文字;2、显示字体;3、字体大小
CCLabelTTF *ttf = CCLabelTTF::create("windows7lake", "A Damn Mess.ttf", 32);
ttf->setPosition(100, s.height - 10);
addChild(ttf);
// 参数:1、要显示文字;2、显示字体;3、字体大小;4、尺寸(把这一段字符串看作整体,
// 需要显示的大小);5、屏幕横向位置;6、屏幕纵向位置
Label *ttf1 = Label::createWithSystemFont("windows7", "A Damn Mess.ttf", 42,
Size::Size(70, 40), TextHAlignment::CENTER, TextVAlignment::TOP);
ttf1->setPosition(100, s.height - 60);
addChild(ttf1);
// 参数:1、要显示文字;2、显示字体的相对路径
LabelBMFont *ttf2 = LabelBMFont::create("lake", "fonts/bitmapFontChinese.fnt");
ttf2->setPosition(50, s.height - 110);
addChild(ttf2);
// 参数:1、要显示文字;2、显示字体的相对路径;
LabelAtlas *ttf3 = LabelAtlas::create("123 Test", "fonts/tuffy_bold_italic-charmap.plist");
ttf3->setPosition(50, s.height - 160);
addChild(ttf3);
// 参数:1、要显示文字;2、显示字体的相对路径;3、字体宽度;4、字体高度;5、字体图片中的起始符号(这里为空格)
LabelAtlas *ttf4 = LabelAtlas::create("456 Test", "fonts/tuffy_bold_italic-charmap.png", 24, 32, ' ');
ttf4->setPosition(50, s.height - 210);
addChild(ttf4);
// 字体配置参数:1、字体;2、字体大小
TTFConfig config("fonts/arial.ttf", 16);
// 参数:1、字体配置;2、显示字符;3、相对横向位置
Label *ttf5 = Label::createWithTTF(config, "789 test", TextHAlignment::RIGHT);
ttf5->setPosition(50, s.height - 250);
this->addChild(ttf5);
// 参数:显示字体的相对路径
Label *ttf6 = Label::createWithCharMap("fonts/tuffy_bold_italic-charmap.plist");
addChild(ttf6);
ttf6->setPosition(50, s.height - 290);</span>
运行结果:
菜单:
<span style="font-size:18px;">CCSize s = CCDirector::sharedDirector()->getWinSize();
// !!!!!菜单!!!!!
// Sprite Item
auto spriteNormal = Sprite::create("image/HelloWorld.png", Rect(0, 23 * 2, 115, 23));
auto spriteSelected = Sprite::create("image/HelloWorld.png", Rect(0, 23 * 1, 115, 23));
auto spriteDisabled = Sprite::create("image/HelloWorld.png", Rect(0, 23 * 0, 115, 23));
MenuItemSprite *item1 = MenuItemSprite::create(spriteNo