cocos2dx-3.0(6)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法

               继前篇文章讲完label之后,我们继续解读LabelTTF,他也是我们3.0之前常用的,他是系统中自带的字体,如果创建LabelTTF对象时没有给出字体名字或给出的字体系统中不存在,就使用引擎默认字体初始化对象。下面来看给出的两种创建方式

//创建一个空对象,通过与 initWithString()一起使用
static LabelTTF * create();


bool initWithString(const std::string& string, const std::string& fontName, float fontSize,
                    const Size& dimensions = Size::ZERO, TextHAlignment hAlignment = TextHAlignment::LEFT, 
                    TextVAlignment vAlignment = TextVAlignment::TOP);

//直接创建
static LabelTTF * create(const std::string& string, const std::string& fontName, float fontSize,
                         const Size& dimensions = Size::ZERO, TextHAlignment hAlignment = TextHAlignment::CENTER,
                         TextVAlignment vAlignment = TextVAlignment::TOP);


下面来看使用create的样例

auto label1 = LabelTTF::create("Create with LabelTTF", "Arial", 30);
  label1->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
  addChild(label1);

什么时候应该用LabelTTF了,如果你只是需要显示一串字符串,那么就毫无疑问用他了,这是3.0以前的,现在首推使用Label,来看个对比样例

auto label1 = LabelTTF::create("Create with LabelTTF", "Arial", 30);
label1->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y));
addChild(label1);

TTFConfig ttfConfig;
ttfConfig.fontSize = 30;
ttfConfig.fontFilePath = "Paint Boy.ttf";
auto label2 = Label::createWithTTF(ttfConfig, "Create with Label");
label2->setPosition(Point(visibleSize.width / 2 + origin.x, visibleSize.height / 2 + origin.y - 100));
addChild(label2);

效果如下



你可能感兴趣的:(cocos2dx-3.0(6)------Label、LabelTTF、LabelAtlas、LabelBMFont使用之法)