位置: 编程技术 - 正文

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

  • 新公司需要去当地街道报备劳动关系证明吗
  • 外购商品结转成本分录
  • 公司名下的车怎么报废
  • 工程管理服务属于哪个国标行业
  • 预缴增值税后隔多久缴纳
  • 医院企业所得税怎么征收的
  • 增值税专票经办人怎么填
  • 企业在什么情况下辞退员工不需要补偿
  • 劳务派遣怎么做起来
  • 销售研发试制样板图
  • 内账怎么收费
  • 摊销费用怎么计提
  • 免费的企业
  • 出口退税退的是进口时的税吗
  • 银行内部转账会计分录
  • 工资可以用来抵扣成本吗
  • 没有增值税发票怎么出口
  • 小规模收到货运专用发票
  • 发票章丢失风险大吗
  • 污水处理厂税收风险
  • 一般纳税人注销公司需要什么资料和流程
  • 公司租车费用会计分录
  • 土地增值税清算时间
  • 租赁厂房水电费怎么算
  • 环境保护税法是什么意思
  • 企业押金怎么管理
  • 跨月发票冲红账怎么做
  • 转让费入什么会计分录
  • linux服务器常用操作命令
  • windows10如何开启wifi
  • php大小写转换函数怎么写
  • win10下载软件被阻止安装怎么办
  • win10电源和睡眠设置不起作用
  • 玩游戏的显示器要高刷还是高分辨率
  • Fort Rock Valley Historical Homestead博物馆,俄勒冈 (© Prisma by Dukas Presseagentur GmbH/Alamy)
  • 印度活根桥 (© dhritipurna/Shutterstock)
  • php验证码扭曲效果怎么做
  • 新建厂房费用应计入什么
  • 哪些情况下公司不能辞退员工
  • 计算机视觉opencv项目简单代码
  • codeigniter 教程
  • mysqldump命令不存在
  • 过路费抵扣进项税怎么计算
  • 小规模收到成本发票分录
  • 双重数组
  • mysql事务类型
  • dedecms配置
  • 支付国外佣金的税率多少
  • 当月发生的费用
  • 进项加计抵减对账怎么做
  • 一般纳税人报税需要填哪些表
  • 建筑租赁公司是什么意思
  • 第一次建账要填期初余额吗
  • 转出未交增值税借方余额怎么处理
  • 什么情况下说免贵
  • 缴纳房产税和城镇房产税
  • 出口转内销补交进口增值税时间
  • 以货物抵应收账款的分录
  • 预付账款为什么属于资产类
  • 股东的投资款可以直接私人银行卡转账吗
  • 员工办理健康证费用由谁支付
  • 转账凭证的编制流程
  • sql server外连接查询
  • mysqladmin ping
  • xp系统弹出广告怎么处理
  • Windows 2003 SP2 简体中文版下载地址
  • win7旗舰版系统激活码
  • opengl编程宝典
  • jquery操作html代码
  • shell脚本判断一个字符串是否为空
  • JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码)
  • 可实现的系统
  • unity游戏官网
  • 一次性批量随机抽取
  • cmd 更改密码
  • jquery动态效果
  • jQuery与Ajax以及序列化
  • Landroid/support/v7/internal/widget/ActionBarOverlayLayout;.stopNestedScroll
  • 全年上缴个人所得税多少
  • 我的宁夏灵活就业缴费失败
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设