位置: 编程技术 - 正文

cocos2dx菜单重叠按钮实现按层优先选择及透明过滤(cocos creator 优化 drawcall 合并)

编辑:rootadmin

推荐整理分享cocos2dx菜单重叠按钮实现按层优先选择及透明过滤(cocos creator 优化 drawcall 合并),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos creator 优化 drawcall 合并,cocos2d-x教程,cocos creator 布局,cocos2d schedule,cocos拼接,cocos creator 布局,cocos2dx scrollview,cocos2dx scrollview,内容如对您有帮助,希望把文章链接给更多的朋友!

众所周知,在cocos2d-x中,通过CCMenu(抱歉,笔者至今任然在用2.2.2的版本)创建的菜单,如果遇到数个按钮有重叠,当用户点击重叠区域(包括PNG图标中的透明部分)时,引擎默认是按照按钮的添加顺序来检索确定当前用户点击的按钮的,即在该位置第一个被添加到菜单中的的按钮为被点击按钮,即使用户点击到的是空白部分。</span>

cocos2dx菜单重叠按钮实现按层优先选择及透明过滤(cocos creator 优化 drawcall 合并)

相信很多开发人员均对此很苦恼,笔者最近正在开发一款策略类的手机游戏,游戏界面中的建筑物的位置、层级是通过配置文件的形式进行配置的,当加载进入游戏时,读取配置文件,进而绘制界面。界面中的每一个建筑实际上都是一个按钮,当笔者测试时,发现经常会产生想点击按钮A,却点击到了按钮B,原因就是按钮B比按钮A先添加到了保存按钮列表的CCArray数组中,且绘制按钮B图标的空白部分遮挡住了按钮A;而且,很多时候,点击按钮的空白部分也会触发点击事件,个中原因,相信大家都知道,就不废话了。

那么,能不能通过我们自己定义的优先级来有限出发指定按钮的点击事件呢?能不能过滤掉按钮中的透明部分呢?答案是肯定的,为此,笔者百度了很多相关案例,却都语焉不详,而且写的代码不带注释不说,还运行起来。没办法,只好自己去研究了一下CCMenu的源代码,并在其基础上派生出以下绘制菜单的类----LekoMenu。

以下的代码是LekoMenu类的声明及定义:

LekoMenu.h:LekoMenu.cpp: 以上代码为LekoMenu类的全部实现代码,笔者菜单中按钮使用的是CCMenuItemSprite对象,至于其他类型的按钮,各位读者可以自己试着实现,需要说明的是,由于无法重置CCMenu的create系列函数(函数有点多,笔者没有深入研究),在使用LekoMenu类的时候需要按照如下方式: 上面代码中的buildArr是保存建筑物按钮列表的数组,每创建一个按钮时,需要先调用setZorder(int)来设置其Z轴坐标(触摸优先级)哦,设置的&#;越大,则触摸优先级越高。

cocos2dx中滚动界面和小滚动条同步的实现 在游戏中,经常会遇到滚动界面,或者滚动列表,在滚动时,为了给用户一个更好的体验,我们会想到在滚动界面的旁边加上一个小小的滚动条,让这

cocos2dx中Action的Tag设置问题 cocos2dx中Action的Tag要在runAction之后再设置,否则不管用。例如:action:setTag(1)sprite:runAction(action)这个时候使用sprite:getActionByTag(1)获取到的为nil而如果这样

cocos2dx的坑 ---- autorelease不release CCNode创建后调用autorelease,就算之后你再也不需要这个节点,该节点也有可能不会自动释放,这个问题用memleak是查看不到的触发情况:1.创建了一个CCNode或

标签: cocos creator 优化 drawcall 合并

本文链接地址:https://www.jiuchutong.com/biancheng/368962.html 转载请保留说明!

上一篇:Cocos2dx的截屏与遮罩(cocos2d schedule)

下一篇:cocos2dx中滚动界面和小滚动条同步的实现(cocos2d动画)

  • 已抵扣进项税额转出怎么申报
  • 所得税 扣除
  • 老板的报销分录怎么写
  • 合同资产和合同结算
  • 工程图纸设计费用收费标准
  • 个人收到银行承兑汇票
  • 个税抵扣未及时填报
  • 小规模纳税人实收资本
  • 普通折叠发票代码是几位数
  • 春节商家促销文案
  • 个人所得税已申报税额合计是什么意思
  • 商业企业向供货方收取的进场费,不可以开具增值税发票
  • 企业运费发票需要缴纳印花税吗附政策依据
  • 退货报废计入哪类费用
  • 个人钱转入对公账户账务处理
  • 二手车融资租赁公司
  • 印花税实收资本纳税义务发生时间
  • 个人股权转让是否先分红
  • 装卸费收取的税收筹划是怎样的?
  • 贷款本金余额具体是什么意思
  • 企业支付员工的工资
  • 资产减值准备如何转销
  • 税控设备抵减如何填写报表
  • 公司发放的车补扣个人所得税吗
  • 上月留抵进项抵扣分录
  • 怎样保持ppt在所有电脑上不变
  • 支付商品展览费计入
  • 长期待摊费用转入成本分录
  • 税金及附加多计提所得税年报怎么更正
  • 股权交易的重要性
  • 代缴房产税代缴的人要负责吗
  • php接口验证
  • 在报税显示缺少税种信息
  • css选择器使用
  • 静态html怎么部署到服务器
  • 材料盘盈分录
  • 电子税务局购票员变更
  • uni-app入门到实战 以项目为导向
  • 笨办法学python 3电子书下载
  • 应交税金应交增值税科目设置
  • 增值税的税目和税率
  • 建筑企业异地预缴增值税计算
  • 利润表中所得税费用为负数是什么意思
  • 有效税额可以更改吗
  • 怎么做零售企业
  • 房产原值是含税还是不含税
  • 视同小规模纳税人是有?
  • 发票金额大于付款金额怎么写说明
  • 住宿发票遗失怎么办
  • 股票期权的所得税处理
  • 定期定额户要交哪些税
  • 社会团体费怎么做分录
  • 银行对公账户季度
  • 商贸企业的产值和营业收入
  • 当月计提公积金下月发放怎么做分录
  • 航天信息何去何从
  • mysql常见优化手段
  • SQL语句查询数据量
  • mysql 5.7.17 64bit安装配置方法图文教程
  • win10系统的邮件和日历跟outlook一样嘛
  • 游戏与操作系统不兼容
  • Centos系统里screen命令如何使用?Centos系统里screen命令的使用方法
  • 联想e430安装win10
  • 如何查看ubuntu系统版本
  • 开机记事本自动打开
  • linux device driver
  • windows10总是出现打印机错误
  • 强制升级win11后果
  • Win10锁屏壁纸怎么换
  • 缩放打印到一张a4纸上设置
  • js中的
  • javascript html5摇一摇功能的实现
  • ubuntu14重置密码
  • vlw框架论坛
  • 批处理文本文件如何建立
  • 猫的喵喵
  • 北京定额发票查验
  • 税务报道是干什么
  • 出口货物免抵税额怎么申报附加税
  • 2021税务零申报流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设