位置: 编程技术 - 正文

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

  • 土地价值计入房产税文件
  • 车船使用税会打折么
  • 借款入账会计分录
  • 增量留底退税好处
  • 出口合同包括哪些条款
  • 劳务外包人员算不算从业人员
  • 查找出资产负债表的软件
  • 企业文化事业建设费计算
  • 土地出让金返还的禁止性规定
  • 公司股份无偿转让怎么办理流程
  • 发票认证后1年还能用吗
  • 个人汽车租赁发票网上怎么开
  • 免征土地增值税的有哪些
  • 生产成本和主营业务成本哪个大
  • 加计扣除两种情况
  • 暂估运费成本的账务处理
  • 抵扣联和发票联算一张发票吗
  • 税金及附加包括地方教育费附加吗
  • 主板外部接口是用来连接
  • 电脑安装的软件桌面上没显示
  • 收到无偿划拨的股权如何入账
  • 赠与合同要公证吗有效吗
  • 在win10系统中如何找到应用
  • php过滤emoji
  • nerosmartstart.exe - nerosmartstart是什么进程 作用是什么
  • 增值税应税行为是什么意思
  • 精确控制 英文
  • 怎么查商品的税率
  • 基于随机森林的气温预测
  • 职工教育经费是不是教育费附加
  • 企业销售商品应该向购货单位收取的货款
  • vue脚手架配合springsecurity
  • 微信小程序获取手机号失败
  • mkisofs命令
  • 用友固定资产折旧方法
  • 吸收合并的目的是什么
  • 应收账款出售给银行账务处理
  • 购货方享受现金流量吗
  • 预收货款尚未发货
  • ps灰色模式怎么换回来快捷键
  • 股权转让协议受让方应注意
  • 对外捐赠非货币性资产的会计处理
  • 企业应缴纳税款
  • 上海电子税务局网站
  • 一般纳税人购入不动产增值税税率
  • 小规模纳税人附加税怎么算
  • 缴纳印花税如何写分录
  • 当月的进项票可以下月做账吗
  • 未分配利润转增股本
  • 出口收汇手续费需要在出口退税时扣除吗
  • 抵债资产处置账务实例
  • 年末转出未交增值税借方余额怎么处理
  • 不动产发票开具规则
  • 项目开票分录
  • 财政总预算会计的主体是
  • 个人往对公账户上存款怎么存
  • 文化事业建设费税收优惠政策2022
  • 普票抵扣
  • 不含税价换算成含税价怎么算
  • mysql的基本介绍
  • 微软9月补丁
  • cmdexe文件损坏
  • linux如何使用
  • ubuntu系统服务器
  • AquariumDesktop.exe进程危险吗 AquariumDesktop是什么进程
  • 如何解决叛逆心理
  • win10系统预览版
  • unity怎么bake
  • Android屏幕外侧滑条
  • Android游戏开发实践指南
  • python网络爬虫教程
  • linux shell执行命令
  • 资源加载中是什么原因
  • Unity3D游戏开发毕业论文
  • input限制数字大小
  • jquery ztree选中节点颜色
  • jquery详解
  • 航天金税软件怎么下载
  • 留抵税额退税政策2022
  • 税率分几种 分别是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设