位置: 编程技术 - 正文

【深入了解cocos2d-x 3.x】内置数据结构(2)——Map(cocos2dx入门)

编辑:rootadmin

推荐整理分享【深入了解cocos2d-x 3.x】内置数据结构(2)——Map(cocos2dx入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocosbcx,cocos-creator,cocos-2dx,cocosbcx,cocosbcx,cocos2dx入门,cocos2dx4.0入门,cocos-2dx,内容如对您有帮助,希望把文章链接给更多的朋友!

其实最没意思的数据结构就是Map和Vector这两个了,完完全全就是std::map和std::vector上面再加了一层引用计数。当然,这也有好处,就是支持std算法以及支持cocos2d-x的内存管理机制。

看源码可以知道(下均只对Map进行分析,Vector同理)

内部的数据结构就是一个std::unordered_map,但是cocos2d-x对其做了一个限制,V必须是由Ref派生出来的数据类型,这样才能支持内存管理机制,下面是构造函数(有多个构造函数,只列举了一个)static_assert是表示在编译时检查,std::is_convertible是检测V与Ref*是否是继承关系,如果是,value为true,检测通过。如果不是,会在编译期就告诉我们,这个地方编译不过。

接下来就是插入函数

&#;得注意的是,这里先有一个删除操作,再进行插入,这样为了保证所有的key都是唯一&#;,但是这样会多造成一次遍历,因为unordered_map的插入是无序的,所以unordered_map的insert操作的复杂度是O(1),但是erase的删除必须要find key,所以会有O(N)的复杂度,所以效率会比直接使用unordered_map低。【深入了解cocos2d-x 3.x】内置数据结构(2)——Map(cocos2dx入门)

然后是retain,保持对V类型的object的强引用

接下来是删除函数

首先find到K,然后先执行release,再删除,返回1表示删除成功,0表示删除失败。

还有一些有意思的函数,如下这个

函数的作用是返回一个随机对象,首先判断非空,然后获取一个(0-data.size)的随机数,使用std::advance给begin增加一个随机数的长度,返回这个长度的迭代器。

Cocos2d-JS事件处理机制 在很多图形用户技术中,事件处理机制一般都有三个重要的角色:事件、事件源和事件处理者。事件源是事件发生的场所,通常就是各个视图或控件,

铁嘴李的Cocos2dx之旅之添加按钮 要在Cocos2d中使用Button,首先引入头文件#includeui/CocosGUI.husingnamespaceuil;引入完毕后,就创建button。代码如下:voidbtnGoodsItem(cocos2d::Ref*pSender,Widget::TouchEventTy

Cocos2d-JS键盘事件 Cocos2d-JS中的键盘事件与触摸事件不同,它没有空间方面信息。键盘事件不仅可以响应键盘,还可以响应设备的菜单。键盘事件是EventKeyboard,对应的键盘

标签: cocos2dx入门

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

上一篇:Cocos2d-JS动画(cocos creator 动画制作)

下一篇:Cocos2d-JS事件处理机制(cocos2d-js教程)

  • 以土地投资入股是否需要缴纳增值税
  • 车险车船税会计分录
  • 小企业外币交易的类型有哪些
  • 餐饮费入什么科目
  • 餐饮毛利率多少是赚钱的
  • 分红款怎么记账
  • 其他综合收益影响递延所得税负债吗
  • 房地产定金及预收款
  • 小规模升级一般纳税人需要多久
  • 经纪代理代订机票电了发票如何入账
  • 增值税发票9个点和13个点区别
  • 其他应付款在借方资产负债表怎么填
  • 小规模纳税人可以开1%的专票吗
  • 旅行社给游客买保险的步骤是什么
  • 物流企业账务流程
  • 开业税务登记的基本流程
  • 工业企业外购存货的入账价值一般包括增值税吗
  • 企业没有收入怎么办
  • 个人独资企业税率表2023最新
  • 退回以前年度费用怎么做帐
  • 在文具公司工作怎么样
  • 本月有收入免增值税吗
  • 个人开机械租赁发票需要什么
  • 第三方代收代付平台
  • 办公室零食知乎
  • 资产相关的递延收益
  • macbook发热会烧坏吗
  • 怎么解决笔记本电脑卡顿问题
  • 存货损失进项税
  • win7ie图标删除了怎么恢复
  • 咨询公司流程完整
  • 产品成本核算方法的构成要素
  • 免施工许可证
  • 国家规定免税饲料具体哪些产品
  • 购买二手车要缴税吗
  • 企业清算时
  • css点击菜单显示内容
  • uniapp支付宝支付开发
  • 原材料用于在建工程增值税如何处理
  • 物业费税目
  • 进项税没入账补入账分录
  • 固定资产清理产生的费用入什么科目
  • 规模以上企业纳税要求
  • js在数组中查找指定元素
  • 企业预付账款科目设置
  • 短期贷款利息支付
  • 法人股的利弊
  • 垃圾处理费怎么申报
  • 企业所得税不能税前扣除项目
  • 固定资产一次性扣除政策
  • 小规模纳税人企业所得税2023
  • 其它收益和递延收益的区别
  • 个人所得税规定的免纳个人所得税的范围
  • 补缴上年度所得税的会计分录
  • 电脑折旧多少钱
  • 工资扣水电费怎么做账
  • 现金流量的折现值公式
  • 仲裁期间公司发工资了怎么办
  • 一件产品在不同场合的价格
  • 非营利医疗机构是什么单位
  • sqlserver 中ntext字段的批量替换(updatetext的用法)
  • sqlserver查询数据库表名
  • win7 win8.1双系统安装教程
  • 电脑系统2003
  • Tech Ed 2008:HPC Server 2008讲解
  • linux磁盘分区表
  • 虚拟机下安装操作软件
  • 怎么手动安装xp系统
  • suse linux 12 sp5
  • cocos2dx怎么用啊
  • 批处理遍历文件输出文件路径
  • shell数据处理
  • jquery ul li
  • mysql数据类型大全
  • jQuery轻松实现表格的隔行变色和点击行变色的实例代码
  • 电子发票如何盖电子章
  • 安徽营业执照网上怎么申请
  • 辽宁社保网上申报流程图
  • 行政服务事项包含哪些
  • 定额发票怎么查流向
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设