Cocos Creator游戏开发中经常使用到按钮,特别是大量按钮的情况,此时使用数组来管理这些按钮就显得更具通用性。我大致走了一下官方的示例,好像没有发现有这个小内容(或者有,但我却是没有找到),于是补充此内容如下。

典型问题预览

如下图展示的界面(图中是我一个小拙例的截图,尚未成熟,等稍后感觉可以分享后再公开):

注意到,层级管理上,我使用了一个父节点controlRoot包容了两个按钮节点(实际中可能有许多按钮)。

创建操作脚本组件

代码( zxzLevelSelect.js)如下:

cc.Class({extends: cc.Component,properties: {but: {default: [], type: [cc.Button], // type 同样写成数组,提高代码可读性}},touchButton(event, customEventData){var node = event.target;switch(node.name){case 'btnStart':{cc.director.loadScene('zxzBallScene');}break;case 'btnBack':{cc.director.loadScene('zxzWelcome');}break;}// switch(customEventData){//     // switch(button.name){//         case '0'://     {//         cc.director.loadScene('zxzBallScene');//     }//     break;//     case '1'://     {//         cc.director.loadScene('zxzWelcome');//     }//     break;// }}
});

代码中请注意如下几点:
1,函数touchButton(event, customEventData)是我们定义按钮的handler函数;
2,在此函数中,我们至少可以使用如上所示的两种方式在区别各个按钮,第一种方式是event.target.name(event.target对应相应的按钮组件),而name值正是我们在层次管理器中看到的按钮的名字;第二种方式是借助于handler函数中的第二个参数customEventData,在场景设计中我分别把这两个按钮的customEventData值设置为0和1(当然你可以根据需要设置为字符串等更为直观的名字)。注意到代码的后半部分使用了注释,其中正是第二种区分按钮的方式。

关联脚本组件及设置按钮handler函数

上述小场景文件名为zxzLevelSelection.fire,我在层级管理的最上层Canvas节点上关联了上面的脚本 zxzLevelSelect.js,并绑定上面两个按钮组件,如下图所示:

然后,依次选择两个按钮组件,各自关联上对应的handler函数,如下图所示(仅给出一个即可):


请注意:无论多少个按钮,都要按照上述思路进行关联才行。

小结

本文给出Cocos Creator编程中按钮组件数组的使用补充,不足处请各位提醒,非常感谢。

Cocos Creator中按钮组件数组的使用相关推荐

  1. 不写代码不建模!万字长文带你在 Cocos Creator 中零代码搭建 3D 户外场景

    点击文末[阅读原文]在线预览最终效果. 对于接触过 3D 游戏美术资源的程序来说,可能心中都出现过类似这样的独白: 这些 3D 模型是怎么用的,为什么我导入的时候老是报错? 这些花花绿绿的图片是干什么 ...

  2. Cocos Creator中的动画支持技术

    Cocos Creator主要亮点 官方的权威描述是:Cocos Creator是以内容创作为核心的一体化游戏开发工具,这个引擎基于Cocos2d-x,组件化,脚本化,数据驱动,跨平台发布. 本人使用 ...

  3. cocos入门7:cocos creator 中的ui系统

    1.UI系统 一个完整的游戏一般由不同的系统组成.从技术的角度看一般会不包含UI系统.动画系统.物理系统和声音系统等.其中开发声音相关的内容在引擎的帮助下变得很简单. 对于目前市面上的手机游戏来说,特 ...

  4. 在 Cocos Creator 中实时游戏语音

    Cocos Creator 从 v2.0.9 版本开始,已经深度集成了声网 Agora Voice SDK,广大Cocos开发者可以一键开通.下载并集成声网SDK到所需游戏项目,并且能在 Creato ...

  5. 微信小游戏云开发在cocos creator中的设置

    之前用three.js手撸了一个微信小游戏半成品,但是因为这种手撸的方式,程序和美术很难配合,而且开发难度和时间成本太大,最终决定还是用cocos creator进行微信小游戏的开发. 微信小程序早已 ...

  6. [Cocos Creator] Cocos Creator中的动态合图(dynamicAtlasManager)做了什么

    Cocos creator中有一个动态合图的功能,也就是在运行时将内存中的任意纹理组合成一张虚拟的图集,从而合并绘制,减少drawcall.那么,Cocos Creator是如何实现这个功能的呢. 核 ...

  7. Cocos creator中的dragonBones组件

    DragonBones 组件可以对骨骼动画资源进行渲染和播放. 添加方式: 添加组件 -> 渲染组件 -> DragonBones 组件简单介绍: 1.Dragon Asset:骨骼信息数 ...

  8. 在cocos creator 中使用websocket

    客户端 参考:https://allknowboy.com/posts/e8f856f4/ NetConfig.js /*** 当前的网络配置*/ module.exports={host:" ...

  9. cocos creator中使用Easing

    主要用作动画,示例: cc.tween(this.stretch).to(0.1,{}).call(()=>{this.arrow.scale = scale}).to(0.5, { x: x ...

最新文章

  1. groovy怎样从sql语句中截取表名_SQL常用的基础查询语句
  2. html 视频兼容苹果,video苹果兼容flash播放
  3. 使用OpenFlashChart 2.0结合asp.net的问题(解疑)
  4. 全链路监控方案概述与比较
  5. java 声明静态类,为什么你不能在Java中将类声明为静态?
  6. 简单工厂模式(Simple Factory Pattern)
  7. docker 启动镜像_Docker学以致用,开源项目和云服务,是最好的学习资源
  8. UVa 1252 (状压DP + 记忆化搜索) Twenty Questions
  9. paip.提升用户检验-----列表摘要
  10. EasyRecovery15中文版专业数据恢复软件
  11. 【GD32F407】 读写内部flash函数
  12. Arduino智能小车——小车测速
  13. RS485两台设备用了半年,今天突然没数了,并上串口一直时不时有多余FF等乱码输出。单独串口接电脑试都正常,共地就正常了
  14. 南通全国计算机等级考试,南通大学2017年3月全国计算机等级考试报名通知
  15. 苏州科技大学的计算机专业怎么样,苏州科技大学怎么样?有什么王牌专业?排名如何?...
  16. springcloud3-服务到服务调用ribbon及openfeign
  17. 古墓丽影10linux,《古墓丽影:崛起》推出Linux系统版:Ubuntu 17.10可玩
  18. 计算机科学与技术职员考试,在职计算机科学与技术考试科目
  19. 更换APP启动图标和名称
  20. NANK南卡无线蓝牙耳机体验:身材虽大,续航却格外长

热门文章

  1. Cocos2D研究院之精灵与动画
  2. Silverlight学习之——事件编程
  3. oracle apex接口文件,Oracle之APEX深入开发指南
  4. dataframe 转rdd java,在pyspark中将RDD转换为Dataframe
  5. FTP匿名登录或弱口令漏洞及服务加固
  6. 使用Toast进行用户提醒(转)
  7. Python爬虫:Xpath语法笔记
  8. Window Server 2008 R2系统备份
  9. 大数据量,海量数据 处理方法总结(转)
  10. GLSL实现滤镜效果