位置: 编程技术 - 正文

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

  • 税务ukey电子发票二维码用什么扫码
  • 个人是否可以申请精神司法鉴定
  • 农产品增值税加计扣除最新政策2021
  • 上个月结余应该做到这个月收入里面吗
  • 预计销售收入增长是什么意思
  • 个人独资企业有股权吗
  • 非经营性资产包括哪些科目
  • 小规模纳税人每季度超过30万交税
  • 原材料进口关税怎么算
  • 软件企业的工资怎么样
  • 前期差错会计处理知乎
  • 商贸企业出口退税计算公式
  • 广告公司收到的信息技术发票计入什么科目
  • 未抄报税可以报税吗
  • 现代服务业营改增前后税率对比表
  • 收客户逾期利息账务处理怎么做?
  • 确认委托代销收入会计分录
  • 不涉及税收
  • 早教加盟需要
  • 增值税发票的开具问题
  • 分工分类法
  • 股权转让未分配利润如何做账
  • 长期借款费用资本化
  • 继承房产再出售满五是按老证还是按新证计算时间
  • 资产负债表流动性从强到弱
  • 教您电脑网速很慢怎么办
  • 免抵退不得免征和抵扣是什么意思
  • 政府与事业单位会计
  • 如何删除驱动器里面的文件
  • win7系统电脑开机密码忘记了怎么办
  • 进项税大于销项税怎么结转
  • TypeError: Cannot read properties of undefined (reading ‘NAME‘)报错解决
  • .fas文件病毒
  • 奥维尔的瓦兹河岸
  • 城市维护建设税计入什么会计科目
  • 没有收入的情况下可以填成本吗
  • 企业新增股东投标流程
  • html流光按钮
  • 待核销基建支出与待摊投资的区别
  • 建筑业总包增值税
  • 大气污染物排放2020标准
  • sql2008安装出现以下错误
  • 专用发票金额与专票不符
  • 外企研发中心
  • 财务费用的科目类别是什么
  • 应纳税所得额是利润总额还是净利润
  • 利润的敏感性分析怎么做?
  • 房屋租赁印花税计税金额含税吗
  • 未开票的收入怎么申报增值税
  • 赔付支出包括
  • 结转增值税的账务处理一定要通过转出未交增值税吗
  • 专票先不认证如何申报增值税
  • 待清算商户款项分录的摘要是什么
  • 发票边上的孔有什么用
  • 外账进销存单据是怎么弄的?
  • 销售发票已开进项发票未收到怎么处理?
  • 品种法案例分析
  • mysql服务自动停止运行
  • linux 切文件
  • windows的实验步骤
  • 微软在印度的投资
  • win10邮件和日历怎么更新新版outlook
  • centos7怎么查看进程名称吗
  • 复制粘贴报错
  • 老毛桃U盘启动盘工具安装Win8的详细图文教程
  • centos查询所有用户
  • Qoeloader.exe - Qoeloader是什么进程 有什么用
  • win8.1中文版
  • jquery操作html代码
  • dos命令语法
  • shell编程怎么执行
  • arp如何绑定
  • jquery easyui插件
  • bootstrap和css的关系
  • 1、Android Studio创建android项目
  • 简述python语言
  • 四川税务法人实名采集
  • 小区配电房移交供电局的依据
  • 江西税务客服电话
  • 印花税票在哪里可以查到
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设