zoukankan      html  css  js  c++  java
  • cocos2dx中创建标签CCLabel的三种方法及特点

    创建标签的三种方式:
    1.CCLabelTTF     (True Type Font,又叫本地字体)
    这是最简单,也是最常用的方式,不依赖于资源文件,也不依赖于某个系统,所指定的字体如果系统没有,则会提供默认的字体,使用相当方便
    创建方式:
    CCLabelTTF *ttf=CCLabelTTF::create("GAME","Courier New",20);//第一个参数表示要显示的标签内容,第二个参数表示要使用的字体,第三个参数表示字体的大小
    如果要使用的字体,系统没有,则会自动替换为系统默认的字体
    例如:
    CCLabelTTF *ttf=CCLabelTTF::create("GAME","abc",20);//显然没有abc这种名字的字体,故系统会自动替换为默认的,而不会显示乱码
    相关的操作:
    设置字体大小:ttf->setFontSize(50);
    更改字体类型:ttf->setFontName("abc");
    更改标签显示的内容:ttf->setString("changer");
    设置字体的填充颜色,在windows平台不支持:ttf->setFontFillColor(ccc3(255, 0, 0));
    设置标记:ttf->setTag(TTF);

    2.CCLabelAtlas

    这种类型的标签依赖于资源文件,需要提供Atlas类型的资源图片,且要显示的内容必须是资源文件中已有的内容,且需要设置每个字符的宽度,高度,和起始的ASCII编码,相当麻烦,如果其中有某一个参数设置错误,则不能正常的显示,但是它显示的颜色很绚丽,这是要付出代价的,代价就是不够灵活,依赖于资源文件

    创建方式:

    CCLabelAtlas *atlas=CCLabelAtlas::create("1234","fonts/labelatlas.png",24,32,'0'); //第一个参数是要显示的内容,第二个参数是要参照的资源文件,要显示的内容必须是在这个资源文件中的内容,第三,四个参数是字体的宽度和高度,第五个参数是资源文件中的内容中的ASCII码

    相关操作: atlas->setTag(ATLAS);//设置标记 其他操作和CCLabelTTF类似

    3.CCLabelBMFont

    这种类型的标签同样依赖于资源文件,需要提供BMFont类型的资源文件和xx.fnt文件,类似于CCSpriteBatchNode,因为CCLabelBMFont就是继承自CCBatchNode,很多东西和精灵集合类似

    创建方式:

    CCLabelBMFont *bm=CCLabelBMFont::create("start","fonts/bitmapFontTest.fnt"); //第一个参数是要显示的内容,第二个参数是要加载的资源文件,类似于.plist文件

    相关操作: 获取所有的子精灵:CCArray *array = bm->getChildren();

    获取某个子精灵:CCSprite *spr=array->objectAtIndex(0);  //即字母'S'

    CCLabelBMFont 中的每一个字符都是一个己加载到CCSpriteBatchNode 中的CCSprite。

    不仅需要提供xx.fnt文件,还要提供xx.png文件,这两个文件缺一不可

  • 相关阅读:
    CF611C New Year and Domino
    CF706C Hard problem (状态机dp)
    CF467C George and Job (dp)
    Vue的响应式系统
    如何更好的使用js?
    关于JS变量和作用域详解
    运算符的应用及流程控制if,switch语句
    js闭包
    js的基础
    js的使用及语法
  • 原文地址:https://www.cnblogs.com/ttss/p/4082705.html
Copyright © 2011-2022 走看看