位置: 编程技术 - 正文

cocos2d::DrawPrimitives和DrawNode分别实现画板功能

编辑:rootadmin

推荐整理分享cocos2d::DrawPrimitives和DrawNode分别实现画板功能,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

才开始了解cocos2dx几天,只是觉得学习还是得边用边学,所以才想实现点什么,下面提到的有什么问题请指出,谢谢

我想实现简单的画板功能,就看了官方cpp_test的Node:Draw测试代码,遗憾的是我先看到的是DrawPrimitives,所以就研究了一下,简单的实现了我的功能,当我写的差不多的时候才发现DrawPrimitives应该尽量不再使用,而使用DrawNode来实现。

代码都写的差不多了,而且测试效果感觉还特别好,还是在这里留存一下吧:

之后代码统一换成DrawNode实现,代码竟然精简了如此之多,基本没有什么逻辑:

这里作一下对比,这里需要提到两个指标,GL Verts 和 GL Calls,概念的含义也是我朋友给我说的,前者是绘图的顶点数量,后者是opengl的调用次数,朋友还特意给我说了这两个&#;都是越小越好。

cocos2d::DrawPrimitives和DrawNode分别实现画板功能

当我使用DrawPrimitives实现画板的时候,我每画一个点,GL Verts &#;加1,GL Calls &#;加1,我每画一条线,GL Verts &#;加2(两个顶点),GL Calls &#;加1。

当我使用DrawNode实现的时候,我每画一个点,GL Verts &#;加1,我每画一条线,GL Verts 这个&#;是一直累加的(每次累加),GL Calls &#;始终为1。

可能这里也就从一定层面上说明DrawNode早晚会取代DrawPrimitives的原因,DrawPrimitives迟早会被淘汰。

但是这里也有一个疑问是,当使用DrawNode的为什么GL Verts累加的时候每次累加呢,按我上面给出的参数我怎么想都想不到啊?

这里也再多说明一个问题,当使用DrawPrimitives的时候,我是在draw实现绘画功能的,但是draw函数我后来发现是被循环调用的,应该是和刷新频率有关,就像MFC程序一样界面每隔一段时间刷新一次,当然这个时间很短,也也就导致了我看到的GL Verts 和 GL Calls 的&#;永远在我的计算当中,因为每次刷新这两个&#;都应该会重新计算的吧。若是按照刷新次数去计算这两个&#;,只会更大吧。

cocos2dx3.4 Label 创建一个空的Label,具体属性以后再设置staticLabel*create();使用系统API创建一个Label,参数包括一个初始字符串,字体(字体名称或字体文件),字体大小,在分维

[置顶] cocos2d-x 3.5版 关于Console模块 cocos2d-x引擎发展的日益完善,更新了很多小工具。这个Console模块是一个控制台调试工具,可以实现远程调试,用用还是蛮有意思的。看AppDelegate.cpp里面

CCEditBox实现原理 今天使用了EditBox,记录下几点重要的,可以说是CCEditBox实现原理1.CCEditBox继承CCControlButton,CCIMEDelegate2.CCEditBox实现了touchDownAction方法,并在CCEditBox::initWi

标签: cocos2d::DrawPrimitives和DrawNode分别实现画板功能

本文链接地址:https://www.jiuchutong.com/biancheng/368833.html 转载请保留说明!

上一篇:cocos2dx切换场景如何释放内存(cocos2dx怎么用)

下一篇:cocos2dx3.4 Label

  • 税前扣除项目主要内容?
  • 代扣代缴个人所得税如何做账
  • 首套房契税税率是多少?
  • 资产计提折旧的科目
  • 查询不到已经上市的股票
  • 企业所得税中的所得
  • 印刷宣传册是违法吗
  • 2019年小微企业六税两费减免
  • 小规模纳税人报销会计分录
  • 房产税从租计征的税率是12%还是4%
  • 公司支付倒垃圾费怎么做会计分录
  • 可供出售交易性金融资产申报表怎么填
  • 递延纳税筹划策略研究
  • 商场销售化妆品应当缴纳增值税和消费税对吗
  • 利润表要怎么看
  • 土地租赁需要交土地使用税吗
  • 收地方工会的专用发票
  • 增值税发票过期了税金怎么办
  • 怎么查询财务章备案信息
  • 企业用户纳税人识别号不合法
  • 积分兑换现金消费的会计分录
  • 银行承兑汇票怎么取钱
  • 发票打印注意什么
  • 电子商务企业类别有哪些
  • 税务变更后之前的进项
  • mac怎么调整网页大小
  • 怎么让别人无法访问我的qq空间
  • 公司章程签署
  • swoole和websocket的区别
  • 支付费用没有发票怎么做账务处理
  • 来料加工方式中,料件和加工后成品的所有权
  • 委托去银行办理业务的委托书
  • mac安装wine教程
  • 看望员工生病的家属支付现金如何入账
  • 出租不动产预缴增值税计算公式
  • 购入固定资产入账价值包括增值税吗
  • 增值税怎样计算
  • 无形资产期末余额在哪方
  • 餐饮定额发票能报销吗怎么报销
  • 房屋装修固定资产置换
  • uni-swiper-dot
  • 股权转让实操
  • react devtools
  • 暂估和开票的差别是什么
  • vue3生命周期及使用
  • object.assign(this.$data, this.$options.data())
  • 运输发票备注栏里一般需要备注的内容包括
  • 收到稳岗补贴如何入账
  • 在建工程转入固定资产怎么做
  • 材料采购账户的借方登记什么
  • 减免增值税记账
  • 其他应收款利息按什么计算
  • access参数查询怎么弄
  • sqlserver 数据库加密
  • 做账的好处
  • 税收制度政策
  • 企业固定资产没有加速折旧还填资产加速折旧表吗
  • 固定资产残值怎么做账务处理
  • 软件产品销售合同范本
  • 发票失控进项转出所得税
  • 小规模公司一般开什么发票
  • 如何避免电子发票重复报销的情况
  • 专票取消认证
  • 工业企业销售商品分录
  • mysql批量执行sql文件
  • win8系统开机直接进入桌面
  • mac系统怎么给文件夹设置密码
  • linux有两个ip
  • org.cocos2d.straydiary
  • Extjs中通过Tree加载右侧TabPanel具体实现
  • perl怎么读取文件
  • 网页制作css样式
  • python 进阶
  • 获取控件的值
  • 普通话的对话
  • python对文件操作采用的统一
  • 武汉市国家税务总局第二稽查局
  • 生产变压器有什么危害
  • 统一社会信用代码有什么用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设