位置: 编程技术 - 正文

【深入了解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教程)

  • 退个税手续费如何申报
  • 公司替员工承担个税怎么入账
  • 税务知识:价外费用包括哪些费用?
  • 小规模企业可以收增值税专用发票吗
  • 进口关税增值税税率
  • 购买的固定资产什么时候折旧
  • 小规模差额申报怎么申报
  • 资产负债表本期盈余为什么是负数
  • 长期待摊费用摊销年限规定
  • 固定资产折旧的会计处理
  • 通用机打发票没有税率
  • 购货方要求退货合理吗
  • 贷款损失准备金怎么计算
  • 一般纳税人财务报表月报还是季报
  • 资产收购应如何计算
  • 验资帐户
  • 公司预存话费应该怎么做会计处理?
  • 违反劳动合同的责任
  • 资质挂靠人员需要交个税吗?
  • 事业单位没有经过公示的内部文件不生效 出处
  • 代收代付给个人
  • 陕西省水利基金的税率
  • 租金返还方式销售
  • 合并报表存货抵消分录第二年
  • 增值税发票确认时间
  • 冲费用挂账怎么做账
  • 在win7系统中怎样为另外一块硬盘安装系统
  • 如何将旧版本软件卸载
  • 有关预提费用如何冲销
  • 进货折扣是怎么计算
  • wedp是什么文件
  • 口腔发炎怎么办最快最有效的方法
  • 制造企业成本计算模型有哪些类型
  • 如何编写会计记账凭证
  • 直运商品委托代销商品的销售成本的计算方法应采用
  • 买税控盘的钱怎么做账
  • 一般纳税人与小规模纳税人在报税方面的区别
  • vue3与vue2的区别
  • php教程 ftp 函数
  • php 接口
  • 营业税金及附加会计分录
  • 公司注销公司名下的房子怎么办
  • 个体工商户开税户
  • 简易征收税率表
  • vue获取dom元素的方法
  • 核定征收企业注册
  • 广播影视服务税率2023
  • 小规模纳税人的企业所得税怎么算
  • 计提工会经费是什么工资项目
  • sql server添加语句
  • 公司股东的权利和义务有哪些
  • 库存盘亏进项税怎么抵扣
  • 收到的货品与实物不符
  • 赠品当商品卖
  • 企业收到财政补助收入账务处理
  • 个人咨询服务费个税怎么算
  • 会计从业人员信息查询
  • 企业经营规模小的原因
  • Linux/Mac MySQL忘记密码命令行修改密码的方法
  • win8 无线网络连不上
  • Windows Server 2008搭建终端服务器
  • 微软平板电脑surface pro2参数
  • win1020h2版本千万别更新
  • linux who am i
  • Win10 Mobile build 10586.338上手视频曝光
  • win7升级到win10有无影响
  • dosbox批处理
  • 判断输入的日期是一年中第几天
  • JavaScript中的数据类型分哪为两大类?
  • jquery手机插件
  • dos判断变量是否为空
  • node.js使用教程
  • nodejs操作mysql数据库
  • 实现断点续传的工具软件
  • auto.js获取剪切板内容
  • 税务咨询电话是什么
  • 山东统一发票查询平台
  • 税源管理科是干什么的工作
  • 电子税务局密码能随便告诉别人吗
  • 5种方式教你如何查询
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设