位置: 编程技术 - 正文

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

  • 企业所得税年报怎么查询
  • 税务师厉害吗
  • 个税返还手续费奖励员工账务处理
  • 个体户收现金可以开发票吗
  • 民非企业是否可以盈利
  • 工人工伤误工费赔偿多少一天
  • 收到代发工资的信息
  • 增值税季报是填3个月的收入吗
  • 发票后面附清单明细能导出吗
  • 法人名下的车辆费用如何进公司帐
  • 专项应付款在资产负债表中如何列示
  • 企业所得税汇算清缴退税怎么做账
  • 贸易公司的印花税税率是多少
  • 增值税怎么纳税比率
  • 收到展会补贴账务处理
  • 增值税普通发票可以抵扣吗
  • 作废发票 红字发票
  • 折旧费和摊销费怎么算
  • 外帐如何暂估应付账款
  • 安全生产费用包含哪些
  • 开发支出会计科目
  • 营改增后装饰公司税率
  • 固定成本变动成本混合成本的分类
  • 以前年度损益调整
  • 差额发票可以开1个点吗?
  • unity默认存储路径
  • linux web gui
  • 耕地占用补贴标准
  • mch是什么文件
  • php

  • 亚士顿森林薄雾日出,英国东萨塞克斯郡 (© Tim Stocker Photography/Getty Images)
  • 房地产开发企业增值税怎么算
  • 申报个人所得税是按应发工资还是实发工资
  • 报个税时显示扣缴单位无有效的税费种认定信息
  • iis 7下安装laravel 5.4环境的方法教程
  • php mysql_list_dbs()函数用法示例
  • Delete `␍` 最简单最有效的解决方法和解释(VScode)
  • 原生php和框架php的区别
  • 关于成本核算的论文题目
  • 发票内容服务费可以吗?没有明细
  • 健身房注册公司名称带超字
  • 农民工的劳务报酬个人所得税怎么那么高
  • 年度结转增值税
  • 记账凭证错了
  • mongodb 教程
  • 工会经费能不能用于体检
  • 同时运行多个MySQL服务器的方法
  • 哪些进项税额不能抵扣
  • 债券投资包含哪些
  • 建筑业普票与专票怎么抵扣
  • 劳保用品专卖
  • 库存现金怎么做预算会计
  • 股东借款如何认定为出资
  • 收到电费发票做账怎么做
  • 银行收取服务费
  • 长期股权投资利润调整加折旧
  • 支付贷款利息属于筹资活动吗
  • 咨询服务公司的经营范围
  • 逾期纳税申报会被罚款吗
  • 如何设计高效合理的未来课程
  • ubuntu修改ip地址方法
  • winxp显示设置
  • win8 更改电脑设置
  • css做一个好看的网页
  • android数据库使用
  • css浏览器兼容性问题
  • unity intercom
  • bat实现的模仿黑客帝国里面的数码雨
  • 如何解决android兼容问题
  • angular使用
  • threejs入门教程
  • shell 编程 怎么运行命令
  • python运行出现none
  • python 中文转码
  • 发票查验平台可以查询自己给对方开的发票吗?
  • 酒店会场出租如何收费
  • 印花税怎么计提科目
  • 税务局追缴社保流程及办理期限
  • 济南税务局,济南电子税务局官网
  • 企业所得税零申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设