• Cocos2d-JS中的cc.LabelAtlas


    cc.LabelAtlas是图片集标签,其中的Atlas本意是“地图集”、“图片集”,这种标签显示的文字是从一个图片集中取出的,因此使用cc.LabelAtlas需要额外加载图片集文件。cc.LabelAtlas 比cc.LabelTTF快很多。cc.LabelAtlas 中的每个字符必须有固定的高度和宽度。
    cc.LabelAtlas类图如下图所示,cc.LabelAtlas间接地继承了cc.Node类,具有cc.Node的基本特性,它还直接继承了cc.AtlasNode。

     
    cc.LabelAtlas类图



    如果我们要展示如下图所示的Hello World文字,我们可以使用cc.LabelAtlas实现。

    cc.LabelAtlas实现的Hello World文字

    cc.LabelAtlas实现的Hello World文字主要代码如下:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. var HelloWorldLayer = cc.Layer.extend({  
    2.     sprite:null,  
    3.     ctor:function () {  
    4.           this._super();  
    5.             ……  
    6.          // 创建并初始化标签    
    7.             var helloLabel = new cc.LabelAtlas("Hello World",   
    8.                 res.charmap_png,  
    9.                 48, 66, " ");                                           ①  
    10.   
    11.   
    12.             helloLabel.x = size.width / 2 - helloLabel.getContentSize().width / 2;  
    13.             helloLabel.y = size.height - helloLabel.getContentSize().height;  
    14.             this.addChild(helloLabel, 5);  
    15.             ……  
    16.             return true;  
    17.     }  
    18. });  


    上述代码第①行是创建一个cc.LabelAtlas对象,构造函数的第一个参数是要显示的文字;第二个参数是图片集文件(见下图所示);第三个参数是字符高度;第四个参数是字符宽度;第五个参数是开始字符。

    图片集文件

    为了防止硬编码问题,我们应该使用res.charmap_png表示资源的路径,变量res.charmap_png是在resource.js中定义的资源名,resource.js代码如下:

    [html] view plaincopy在CODE上查看代码片派生到我的代码片
     
    1. var res = {  
    2.     HelloWorld_png : "res/HelloWorld.png",  
    3.     CloseNormal_png : "res/CloseNormal.png",  
    4.     CloseSelected_png : "res/CloseSelected.png",  
    5.     charmap_png : "res/fonts/tuffy_bold_italic-charmap.png"  
    6. };  
    更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》

    本书交流讨论网站:http://www.cocoagame.net

    欢迎加入Cocos2d-x技术讨论群:257760386

    更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com

    《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:

    京东:http://item.jd.com/11659698.html

    欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息

  • 相关阅读:
    .Net和SqlServer的事务处理实例
    SQL Server-- 存储过程中错误处理
    Asp.Net中使用Newtonsoft.Json转换,读取,写入
    从客户端中检测到有潜在危险的 Request.Form 值
    -Json与Xml之间的转换
    c#操作xml的代码(插入节点、修改节点、删除节点等)
    重置SQL Server sa密码
    用exec调用带有output输出参数的存储过程
    日期获取 net
    PhoneListenerService
  • 原文地址:https://www.cnblogs.com/iOS-Blog/p/4356764.html
Copyright © 2020-2023  润新知