zoukankan      html  css  js  c++  java
  • Label

    •     创建系统原生字体

        auto labe1 = Label::create("houwenchao", "Arial", 36); //参数:内容  字体  字号  label尺寸大小  水平对齐方式(默认左对齐)  竖直对齐方式(默认顶部)

        labe1->setPosition(Vec2(240, 280));

        this->addChild(labe1);      //addChild()  三个参数:第一个是对象, 第二个是层顺序, 默认0,表示最后添加, 第三个tag值

    •     创建TTF  

        两种方式:方式一:使用的fontFile必须为字体文件(如"xx.ttf")   方式二:通过TTFConfig配置(Config配置:如“fonts/Arial.ttf”)来创建   

        TTFConfig ttfconfig("fonts/Marker Felt.ttf", 36);    //配置参数:字体文件路径  字体大小(默认12)  使用的字符集   是否让字体紧凑(默认false)  字体轮廓大小(默认”0″)

        auto label2 = Label::createWithTTF(ttfconfig, "this is second label");   //TTFConfig配置  内容  对齐方式  最大文本行宽(0表示不设置)可用于自动换行

        label2->setPosition(Vec2(240, 130));

        this->addChild(label2);

        

        auto label3 = Label::createWithTTF("this is third label", "fonts/arial.ttf", 20);

        label3->setPosition(240, 110);

        this->addChild(label3);

        

        auto label4 = Label::createWithTTF("this is fourth label", "fonts/Marker Felt.ttf", 30);

        label4->setPosition(240, 90);

    //    label4->enableShadow(Color4B::GREEN, Size(1, 1)); //阴影

    //    label4->enableOutline(Color4B::RED, 1);  //轮廓: 颜色 , 宽度     仅支持TTF

        label4->enableGlow(Color4B::RED);//发光            仅支持TTF

        this->addChild(label4);

    //createWithCharMap:2.x中的LabelAtlas一般用来显示数字, 也可以来显示其他字符

    • 创建CharMap有三种方式:

     使用.png图片创建    //每个字符的大小是固定的, 不能设置字体大小, 只能通过setScale()来缩放
     使用纹理Texture2D创建
     使用.plist创建

    1、使用.png图片

    //digit.png必须包含你要用的所有字符, 从图片中从左到右,一块一块截取。从字符startCharMap开始一一对应。第一块小图片对应字符startCharMap, 依次往后

    Label* lb4 = Label::createWithCharMap(“fonts/digit.png”, 20, 20, ‘0’);      //字符资源图片  字符宽  字符高  图片第一个是什么字符
    lb4->setString(“123456″);  //设置显示的字符串内容

    2、使用Texture2D创建  与使用.png图片类似

        Texture2D *texture = Director::getInstance()->getTextureCache()->addImage("fonts/digist.png");

        Label* lb5 = Label::createWithCharMap(texture, 20, 20, ‘0’);
        lb5->setString(“123456″); //设置字符串内容

    3、使用.plist创建

    Label* lb6 = Label::createWithCharMap(“fonts/digit.plist”);
    lb6->setString(“123456″);


    • createWithBMFont

    这个类使用之前,需要添加好字体文件,包括一个图片文件(*.png)和一个字体坐标文件(*.fnt),这两个文件名称必须一样。可以下载一个fnt编辑工具来自定义字体。

    使用 getLetter(i)来获取第i个字符,对其单独设置属性、动作等。 (无法设置字体大小, 用setScale来缩放)

    Label* lb7 = Label::createWithBMFont(“bitmapFontTest.fnt”, “123abc”, TextHAlignment:EFT);

  • 相关阅读:
    面向对象编程思想-组合模式
    原生JS:Array对象详解
    一些XMLHttpRequest的例子代码
    详细解读XMLHttpRequest(一)同步请求和异步请求
    深入理解:JavaScript原型与继承
    轻松掌握:JavaScript状态模式
    轻松掌握:JavaScript装饰者模式
    轻松掌握:JavaScript享元模式
    轻松掌握:JavaScript模板方法模式
    回调函数的意义以及python实现
  • 原文地址:https://www.cnblogs.com/lion-witcher/p/5994379.html
Copyright © 2011-2022 走看看