手机使用的尺寸
SM - J3119
主屏尺寸: 5英寸142.3 x 71x 7.9mm
142.3 x 71x 7.9mm
142.3 x 71x 7.9mm
主屏分辨率: 1280x720像素
Label用于渲染文字标签的,下面是它的继承图。
一般使用方式
// 1. BMFont
auto myLabel = Label::createWithBMFont("bitmapRed.fnt", "LabelBMFont");
myLabel->setPosition(visibleSize.width/2, visibleSize.height - 70);
myLabel->setSize(32);
scene->addChild(myLabel, 1);
如何创建一个label,有下面的方式。
直接就用英语,懒得翻译。
label字体的字体
下面有七个关于label的,ttf用得多一些,然后会加一些修饰,就是调用一些函数,很容易看明白,
就是有点不明白为什么用TTFConfig
#include "Scene_1.h"
#include "MainScene.h"
cocos2d::Scene *Scene_1::createScene()
{
Size visibleSize = Director::getInstance()->getVisibleSize();
auto scene = Scene::create();
auto layer = LayerColor::create(Color4B::GRAY);
scene->addChild(layer);
auto label = LabelTTF::create("Label", "marker Felt.ttf", 32);
label->setPosition(visibleSize.width/2, visibleSize.height - 30);
scene->addChild(label, -1);
// add the menu item for back to main menu
label = LabelTTF::create("MainMenu", "Marker Felt.ttf", 32);
auto menuItem = MenuItemLabel::create(label);
menuItem = MenuItemLabel::create(label);
menuItem->setCallback([&](cocos2d::Ref *sender) {
Director::getInstance()->replaceScene(MainScene::createScene());
});
auto menu = Menu::create(menuItem, nullptr);
menu->setPosition(Vec2::ZERO);
menuItem->setPosition(200, 50);
scene->addChild(menu, 1);
// 1. BMFont
auto myLabel = Label::createWithBMFont("bitmapRed.fnt", "1. LabelBMFont :)");
myLabel->setPosition(visibleSize.width/2, visibleSize.height - 80);
scene->addChild(myLabel, 1);
// 2. LabelTTF
auto myLabel2 = Label::createWithTTF("2. LabelTTF", "Marker Felt.ttf", 32);
myLabel2->setColor(Color3B::RED);
myLabel2->setPosition(visibleSize.width/2, visibleSize.height - 130);
scene->addChild(myLabel2, 1);
// 3. LabelTTF with TTFConfig
// create a TTFConfig files for labels to share
TTFConfig labelConfig;
labelConfig.fontFilePath = "Marker Felt.ttf";
labelConfig.fontSize = 32;
auto myLabel3 = Label::createWithTTF(labelConfig, "3. LabelTTF from TTFConfig");
myLabel3->setColor(Color3B::RED);
myLabel3->setPosition(visibleSize.width/2, visibleSize.height - 180);
scene->addChild(myLabel3, 1);
// 4. Label using SystemFont
auto myLabel4 = Label::createWithSystemFont("4. Label using SystemFont", "Arial", 32);
myLabel4->setColor(Color3B::RED);
myLabel4->setPosition(visibleSize.width/2, visibleSize.height - 230);
scene->addChild(myLabel4, 1);
// 5. LabelTTF with shadow, outline and glow
auto myLabel5 = Label::createWithTTF("5. LabelTTF with Shadow", "Marker Felt.ttf", 32);
myLabel5->enableShadow();
myLabel5->setColor(Color3B::RED);
myLabel5->setPosition(visibleSize.width/2, visibleSize.height - 280);
scene->addChild(myLabel5, 1);
auto myLabel6 = Label::createWithTTF("6. LabelTTF with Outline", "Marker Felt.ttf", 32);
myLabel6->enableOutline(Color4B::WHITE, 1);
myLabel6->setPosition(visibleSize.width/2, visibleSize.height - 340);
scene->addChild(myLabel6, 1);
auto myLabel7 = Label::createWithTTF("7. LabelTTF with Glow", "Marker Felt.ttf", 32);
myLabel7->enableGlow(Color4B::YELLOW);
myLabel7->setPosition(visibleSize.width/2, visibleSize.height -410);
scene->addChild(myLabel7, 1);
auto mySprite = Sprite::create("origin_red.png");
mySprite->setPosition(200, visibleSize.height/4 + 60);
auto mySprite1 = Sprite::create("origin_red.png");
mySprite1->setPosition(visibleSize.width - 200, visibleSize.height/4 + 60);
scene->addChild(mySprite);
scene->addChild(mySprite1);
return scene;
}
效果,可以看到5 和7比较好看。