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。
如果我们要展示如下图所示的Hello World文字,我们可以使用cc.LabelAtlas实现。
cc.LabelAtlas实现的Hello World文字
cc.LabelAtlas实现的Hello World文字主要代码如下:
- var HelloWorldLayer = cc.Layer.extend({
- sprite:null,
- ctor:function () {
- this._super();
- ……
- // 创建并初始化标签
- var helloLabel = new cc.LabelAtlas("Hello World",
- res.charmap_png,
- 48, 66, " "); ①
- helloLabel.x = size.width / 2 - helloLabel.getContentSize().width / 2;
- helloLabel.y = size.height - helloLabel.getContentSize().height;
- this.addChild(helloLabel, 5);
- ……
- return true;
- }
- });
上述代码第①行是创建一个cc.LabelAtlas对象,构造函数的第一个参数是要显示的文字;第二个参数是图片集文件(见下图所示);第三个参数是字符高度;第四个参数是字符宽度;第五个参数是开始字符。
为了防止硬编码问题,我们应该使用res.charmap_png表示资源的路径,变量res.charmap_png是在resource.js中定义的资源名,resource.js代码如下:
- var res = {
- HelloWorld_png : "res/HelloWorld.png",
- CloseNormal_png : "res/CloseNormal.png",
- CloseSelected_png : "res/CloseSelected.png",
- charmap_png : "res/fonts/tuffy_bold_italic-charmap.png"
- };
本书交流讨论网站:http://www.cocoagame.net
更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
《Cocos2d-x实战 JS卷》现已上线,各大商店均已开售:
京东:http://item.jd.com/11659698.html
欢迎关注智捷iOS课堂微信公共平台,了解最新技术文章、图书、教程信息
Cocos2d-JS中的cc.LabelAtlas的更多相关文章
- cocos2d JS 中的数组拼接与排序
var arrA = [];//创建三个局部变量的新数组 var arrB = []; var arrC = []; var newCards = this.MyMahjong;//创建一个新的局部变 ...
- cocos2d js ClippingNode 制作标题闪亮特效
1.效果图: 之前在<Android 高仿 IOS7 IPhone 解锁 Slide To Unlock>中制作了文字上闪亮移动的效果,这次我们来看下怎样在cocos2d js 中做出类似 ...
- cocos2d JS 本地缓存存储登陆记住账号密码->相当于C++中的UserDefault
在cocos-js 3.0以上的版本中,当我们用到本地存储的时候,发现以前用到的UserDefault在JS中并没有导出,而是换成了LocalStorage. 在LocalStorage.h文件中我们 ...
- JS中parseInt()、Numer()深度解析
JS中字符串转换为数字有两种方式: 1.parseInt函数 定义:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/ ...
- 区别和详解:js中call()和apply()的用法
1.关于call()和apply()的疑点: apply和call的区别在哪里 什么情况下用apply,什么情况下用call apply的其他巧妙用法(一般在什么情况下可以使用apply) 2.语法和 ...
- JS中 toString() & valueOf()
数据的转换 所有对象继承了两个转换方法: 第一个是toString(),它的作用是返回一个反映这个对象的字符串 第二个是valueOf(),它的作用是返回它相应的原始值 toString() toSt ...
- JS中定义类的方法
JS中定义类的方式有很多种: 1.工厂方式 function Car(){ var ocar = new Object; ocar.color = "blue" ...
- jquery中的each用法以及js中的each方法实现实例
each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSON 等等在javaScript开发过程中使用$ ...
- js中关于事件处理函数名后面是否带括号的问题
今天总结一个关于事件处理程序的小细节.首先回顾一下事件处理的一些概念. JS中的事件处理(事件绑定)就是让某种或某些事件触发某些活动.有两种常见的形式,分别是DOM Level 0 和DOM Leve ...
随机推荐
- OSG中找到特定节点的方法(转)
OSG中找到特定节点的方法 为了在OSG中找到需要的节点并对节点做出相应的操作,可以从NodeVisitor类中继承一个类,NPS的教程 [download id="14"] 阐述 ...
- 使用foreach碰到的问题
foreach($list as $k=>$v ){ ........... } 和下面: foreach($list as &$v){ ........ } 其实两者的结果是一样的,但 ...
- 微信公共服务平台开发(.Net 的实现)8-------处理图片(上传下载发送)
举个例子,有人对着我们的公共微信号拍个照片发送过来,然后我们处理这个照片,比如进行ocr识别字(随后就会降到这个例子),或者人脸识别,或者拍照取证等,这些功能都是相当有用的.那么我们现在就要分析一下这 ...
- Android Studio下载安装使用教程
最近Google的在Google I/O大会上推出了一款新的开发工具android studio.这是一款基于intellij IDE的开发工具,使用Gradle构建,相信做过java的童鞋们都知道这 ...
- [Node.js] Broswerify -- 1
Browserify is a tool that brings node.js style development to the browser. The thing you can see on ...
- GridView编辑删除操作
第一种:使用DataSource数据源中自带的编辑删除方法,这样的不经常使用,在这里就不加说明了. 另外一种:使用GridView的三种事件:GridView1_RowEditing(编辑).Grid ...
- iOS开发——实战篇Swift篇&UItableView结合网络请求,多线程,数据解析,MVC实战
UItableView结合网络请求,多线程,数据解析,MVC实战 学了这么久的swift都没有做过什么东西,今天就以自己的一个小小的联系,讲一下,怎么使用swift在实战中应用MVC,并且结合后面的高 ...
- innobackupex 恢复实验
[root@localhost backup]# pwd /backup [root@localhost backup]# ll 总用量 drwxr root root Jul : basebacku ...
- 40多个关于人脸检测/识别的API、库和软件
英文原文:List of 40+ Face Detection / Recognition APIs, libraries, and software 译者:@吕抒真 译文:链接 自从谷歌眼镜被推出以 ...
- jquery相关代码
1.jquery获取当前选中select的text值 var checkText=$("#slc1").find("option:selected").text ...