首页 > 代码库 > 查看3.x NewLabelApi 笔记
查看3.x NewLabelApi 笔记
Label 自适应宽度
setmaxLineWidth
label->setMaxLineWidth(labelWidth);
setDimensions(unsigned int width,unsigned int height)
这个也是修改maxLineWidth
旋转,跳动的字符,使用fnt创建的字符串,可以通过getLetter获取到某个字符,然后执行action即可
auto label = Label::createWithBMFont("fonts/bitmapFontTest.fnt", "Bitmap Font Atlas"); auto BChar = (Sprite*) label->getLetter(0); auto FChar = (Sprite*) label->getLetter(7); auto AChar = (Sprite*) label->getLetter(12); auto rotate = RotateBy::create(2, 360); auto rot_4ever = RepeatForever::create(rotate); auto scale = ScaleBy::create(2, 1.5f); auto scale_back = scale->reverse(); auto scale_seq = Sequence::create(scale, scale_back,nullptr); auto scale_4ever = RepeatForever::create(scale_seq); auto jump = JumpBy::create(0.5f, Vec2::ZERO, 60, 1); auto jump_4ever = RepeatForever::create(jump); auto fade_out = FadeOut::create(1); auto fade_in = FadeIn::create(1); auto seq = Sequence::create(fade_out, fade_in, nullptr); auto fade_4ever = RepeatForever::create(seq); BChar->runAction(rot_4ever); BChar->runAction(scale_4ever); FChar->runAction(jump_4ever); AChar->runAction(fade_4ever);
修改Label颜色
使用Label成员函数setColor
一次性创建很多字符串,使用相同的FNT,速度会快很多
for ( int i=0 ; i < 100;i ++ ) { char str[6] = {0}; sprintf(str, "-%d-", i); auto label = Label::createWithBMFont("fonts/bitmapFontTest.fnt", str); addChild(label); auto s = Director::getInstance()->getWinSize(); auto p = Vec2( CCRANDOM_0_1() * s.width, CCRANDOM_0_1() * s.height); label->setPosition( p ); }
Label 默认anchorPoint为(0.5, 0.5)
可以修改
VS2012 好恶心的“美好的一天啊”,没有“啊”在VS2012会报错啊,我勒个去
// Adding "啊" letter at the end of string to make VS2012 happy, otherwise VS will generate errors // like "Error 3 error C2146: syntax error : missing ‘)‘ before identifier ‘label‘"; TTFConfig ttfConfig("fonts/HKYuanMini.ttf",28,GlyphCollection::CUSTOM, "美好的一天啊"); auto label = Label::createWithTTF(ttfConfig,"美好的一天啊", TextHAlignment::CENTER, size.width);
VS2012显示中文,3.x的做法
auto strings = FileUtils::getInstance()->getValueMapFromFile("fonts/strings.xml"); std::string chinese = strings["chinese1"].asString();
Label 对齐方式
_label->setAlignment(TextHAlignment); //TextHAlignment::LEFT,TextHAlignment::RIGHT,TextHAlignment::CENTER
边框发亮,轮廓颜色
label1->enableGlow(Color4B::YELLOW); label3->enableOutline(Color4B::BLUE);
阴影,及位置改变
shadowLabelTTF->enableShadow(Color4B::BLACK); shadowLabelTTF->enableShadow(Color4B::BLACK,offset);
修改行间距
setLineHeight(float height)
修改字间距
setAdditionalKerning(float space)
转载请注明出处:helkyle.tk
查看3.x NewLabelApi 笔记
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。