位置: 编程技术 - 正文

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

  • 所得税的记账凭证
  • 个体工商户月销售额超10万怎么报税
  • 单位外币账户领取流程
  • 合伙事务执行的办法有哪些?
  • 小规模房地产企业税收优惠政策
  • 公司福利可以抵扣所得税吗
  • 收到投资款的会计
  • 应收贷方余额怎么处理
  • 溢价发行可转换公司债券会计分录例题
  • 产品试用装入什么科目里
  • 采购退回的分录
  • 企业收取客户利润违法吗
  • 咨询服务企业发展瓶颈期
  • 经营性租赁购入会计分录
  • 6%的增值税专用发票怎么开
  • 房产税的计税依据包含增值税吗
  • 银行流动性比例要求
  • 专用发票发票联丢失怎么办
  • 纳税人可以是自然人吗
  • 2021windows10专业版
  • mac怎么连接校园网网线
  • 海尔笔记本最新款
  • 飞机票本身包含保险吗多少钱
  • 更改win10通知
  • win11如何降到win10
  • win7 无法 启动
  • 被雪覆盖的山峰
  • 富贵竹怎么养才能更旺盛水培生根
  • yii框架教程
  • php str函数
  • 技术维护服务费
  • php实现截取中文字符
  • 原材料按计划成本核算例题
  • 年终奖分次发跟一起发有什么区别
  • ai安装教程2020
  • tf club下载
  • bert数据增强
  • php乱码解密
  • php微信公众号商城源码
  • 增值税发票丢失罚款多少
  • hashmap 面试
  • 公司采购一直没走对公付款怎么处理
  • 资产负债表中应交税费为负数是什么意思
  • 兼职算受雇吗
  • 跨境电商小规模运营负责那些工作
  • mongodb部署安装
  • DEDECMSV5.6将软件下载次数直接生成静态
  • 帝国cms移动端
  • 怎么在网上申请信用卡
  • 出口退税中的免税是什么
  • 进项抵扣了还要交附加嘛
  • 个体户逾期未报年报后补报了怎么办
  • 企业有哪些固定资产
  • 制造费用怎么摊销到成本?
  • 支付资金占用费的承诺函怎么写
  • 销售折让如何做分录
  • 成本费用总额包括营业外支出吗
  • 会计账务处理程序有哪些类型
  • 稳岗返还计入营业外收入
  • 销售折让如何核算
  • 金税盘缴销发票
  • 微众银行贷款到私账吗
  • 营业成本包括三大费用如何称呼
  • 扩展什么
  • mysql在mac上的安装教程
  • win7注册表有什么用
  • wind2003
  • winkey.exe - winkey是什么进程
  • bcdedit.exe
  • win8的显示设置
  • linux的含义
  • cocos2d android 游戏开发学习——CCAction(一)
  • 运行javascript
  • bat ping批处理
  • 微信小程序实战入门 第2版
  • python 压缩gz
  • python快速排序法
  • javascript基础入门视频教程
  • [置顶]游戏名:chivalry2
  • 云办税大厅
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设