Cocos2d-JS中的文本菜单,cocos2d-js文本菜单

  次阅读 来源:互联网(转载协议) 2015-09-28 13:12 我要评论(0)

Cocos2d-JS中的文本菜单,cocos2d-js文本菜单

文本菜单是菜单项只能显示文本,文本菜单类包括了cc.MenuItemLabel、cc.MenuItemFont和cc.MenuItemAtlasFont。cc.MenuItemLabel是个抽象类,具体使用的时候是使用cc.MenuItemFont和cc.MenuItemAtlasFont两个类。文本菜单类cc.MenuItemFont,它的其中一个构造函数定义如下: ctor(value, //要显示的文本

callback, //菜单操作的回调函数指针

target) 文本菜单类cc.MenuItemAtlasFont是基于图片集的文本菜单项,它的其中一个构造函数定义如下:ctor (value, //要显示的文本

charMapFile, //图片集文件

itemWidth, //要截取的文字在图片中的宽度

itemHeight, //要截取的文字在图片中的高度

startCharMap //开始字符

callback ) //菜单操作的回调函数指针本节我们会通过一个实例介绍一下文本菜单的使用,这个实例如图4-12所示,其中菜单Start是使用cc.MenuItemFont实现的,菜单Help是使用cc.MenuItemAtlasFont实现的。\文本菜单实例下面我们看看app.js 中HelloWorldLayer中初始化代码如下: var HelloWorldLayer = cc.Layer.extend({

ctor:function () {

this._super();

var size = cc.director.getWinSize();

var bg = new cc.Sprite(res.background_png);

bg.x = size.width/2;

bg.y = size.height/2;

this.addChild(bg);

cc.MenuItemFont.setFontName("Times New Roman"); ①

cc.MenuItemFont.setFontSize(86); ②

var item1 = new cc.MenuItemFont("Start", this.menuItem1Callback, this); ③

var item2 = new cc.MenuItemAtlasFont("Help",

res.charmap_png,

48, 65,' ',

this.menuItem2Callback, this); ④

var mn = new cc.Menu(item1, item2); ⑤

mn.alignItemsVertically(); ⑥

this.addChild(mn); ⑦

return true;

},

menuItem1Callback:function (sender) {

cc.log("Touch Start Menu Item " + sender);

},

menuItem2Callback:function (sender) {

cc.log("Touch Help Menu Item " + sender);

}

});上述代码第①和②行是设置文本菜单的文本字体和字体大校第③行代码是创建cc.MenuItemFont菜单项对象,它是一个一般文本菜单项,构造函数的第一个参数是菜单项的文本内容,第二个参数是点击菜单项回调的函数指,this.menuItem1Callback是函数指针,this代表函数所在的对象。第④行代码是创建一个cc.MenuItemAtlasFont菜单项对象,这种菜单项是基于图片集的菜单项。res.charmap_png变量也是在resource.js文件中定义的,表示"res/menu/tuffy_bold_italic-charmap.png"路径。还有第⑤行代码var mn = new cc.Menu(item1, item2)是创建菜单对象,把之前创建的菜单项添加到菜单中。第⑥行代码mn.alignItemsVertically()是设置菜单项垂直对齐。第⑦行代码是this.addChild(mn)是把菜单对象添加到当前层中。注意 上述代码第④行cc.MenuItemAtlasFont类在Web平台下运行正常作用,但是在JSB本地运行显示有误,我们可以使用下面代码替换。var labelAtlas = new cc.LabelAtlas("Help", res.charmap_png, 48, 65, ' ');

var item2 = new cc.MenuItemLabel(labelAtlas, this.menuItem2Callback, this );

更多内容请关注最新Cocos图书《Cocos2d-x实战:JS卷——Cocos2d-JS开发》本书交流讨论网站:http://www.cocoagame.net欢迎加入Cocos2d-x技术讨论群:257760386更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com智捷课堂现推出Cocos会员,敬请关注:http://v.51work6.com/courseInfoRedirect.do?action=netDetialInfo&courseId=844465 categoryId=0

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

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

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

http://www.bkjia.com/Androidjc/972436.htmlwww.bkjia.comtruehttp://www.bkjia.com/Androidjc/972436.htmlTechArticleCocos2d-JS中的文本菜单,cocos2d-js文本菜单 文本菜单是菜单项只能显示文本,文本菜单类包括了cc.MenuItemLabel、cc.MenuItemFont和cc.MenuItemAtlasFont。...

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

网友点评网友点评
阅读推荐阅读推荐

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...