新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
static Label* createWithSystemFont(conststd::string &text, //是要显示的文字 const std::string& font, //系统字体名 float fontSize, //字体的大小 const Size& dimensions = Size::ZERO, //在屏幕上占用的区域大小,可省略 TextHAlignment hAlignment = TextHAlignment::LEFT, //文字横向对齐方式,可省略 TextVAlignment vAlignment = TextVAlignment::TOP) //文字纵向对齐方式,可省略 static Label* createWithTTF(conststd::string & text, const std::string & fontFile, //字体文件 float fontSize, const Size & dimensions = Size::ZERO, //可省略 TextHAlignment hAlignment= TextHAlignment::LEFT, //可省略 TextVAlignment vAlignment= TextVAlignment::TOP //可省略 ) static Label* createWithTTF(constTTFConfig& ttfConfig, const std::string& text, TextHAlignment alignment =TextHAlignment::LEFT, int maxLineWidth = 0 ) static Label* createWithBMFont(conststd::string& bmfontFilePath, //位图字体文件 const std::string& text, const TextHAlignment& alignment =TextHAlignment::LEFT, //可省略 int maxLineWidth = 0, //可省略 const Point& p_w_picpathOffset = Point::ZERO //可省略 )
bool HelloWorld::init() { if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Point origin = Director::getInstance()->getVisibleOrigin(); auto closeItem = MenuItemImage::create( "CloseNormal.png", "CloseSelected.png", CC_CALLBACK_1(HelloWorld::menuCloseCallback, this)); closeItem->setPosition(Point(origin.x+ visibleSize.width - closeItem->getContentSize().width/2 , origin.y + closeItem->getContentSize().height/2)); auto menu = Menu::create(closeItem, NULL); menu->setPosition(Point::ZERO); this->addChild(menu, 1); autolabel1 = Label::createWithSystemFont("Hello World1","Arial", 36); ① label1->setPosition(Point(origin.x+ visibleSize.width/2, origin.y + visibleSize.height - 100)); this->addChild(label1,1); autolabel2 = Label::createWithTTF("Hello World2", "fonts/MarkerFelt.ttf", 36); ② label2->setPosition(Point(origin.x+ visibleSize.width/2, origin.y + visibleSize.height - 200)); this->addChild(label2,1); autolabel3 = Label::createWithBMFont("fonts/BMFont.fnt", "HelloWorld3"); ③ label3->setPosition(Point(origin.x+ visibleSize.width/2, origin.y + visibleSize.height - 300)); this->addChild(label3,1); TTFConfigttfConfig("fonts/Marker Felt.ttf", 36, GlyphCollection::DYNAMIC); ④ autolabel4 = Label::createWithTTF(ttfConfig, "Hello World4"); ⑤ label4->setPosition(Point(origin.x+ visibleSize.width/2, origin.y + visibleSize.height - 400)); this->addChild(label4, 1); ttfConfig.outlineSize= 4; ⑥ autolabel5 = Label::createWithTTF(ttfConfig, "Hello World5"); ⑦ label5->setPosition(Point(origin.x+ visibleSize.width/2, origin.y + visibleSize.height - 500)); label5->enableShadow(Color4B(255,255,255,128),Size(4, -4)); ⑧ label5->setColor(Color3B::RED); ⑨ this->addChild(label5,1); return true; }
第④行代码TTFConfig ttfConfig("fonts/Marker Felt.ttf", 36, GlyphCollection::DYNAMIC)是创建一个TTFConfig结构体变量,TTFConfig结构体的定义如下:
_ttfConfig(constchar* filePath = "", //字体文件路径 int size = 12, //字体大小 constGlyphCollection& glyphCollection = GlyphCollection::DYNAMIC, //字体库类型 constchar * customGlyphCollection = nullptr, //自定义字体库 booluseDistanceField = false, //用户是否可缩放字体 intoutline = 0 //字体描边 )
更多精彩内容请关注史上最牛的cocos2d-x课程
《cocos2d-x手机游戏开发实战》直播课程第一期
报名Cocos2d-x直播课程还送关东升老师iOS终身会员。
课程链接:http://edu.51cto.com/pack/view/id-13.html
会员链接:http://edu.51cto.com/member/id-3.html
更多内容请关注Cocos2d-x系列图书《Cocos2d-x实战(卷Ⅰ):C++开发》
本书交流讨论网站:http://www.cocoagame.net
欢迎加入cocos2d-x技术讨论群:257760386、327403678
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。