位置: 编程技术 - 正文

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

  • 电梯的税收筹划怎么做
  • 小规模纳税人现金折扣算增值税吗
  • 定额扣除个税什么意思
  • 先出货后开票
  • 预付账款收不到发票汇算清缴调整增吗
  • 股本溢价如何计税
  • 差旅费报销怎么做账
  • 奖金属于应付职工薪酬
  • 材料存货的期末计量有何特点
  • 购入厂房时缴的土地增值税如何入账?
  • 特殊建造行业
  • 个人去税务局开劳务发票要交多少税
  • 广告费和业务宣传费扣除标准2023
  • 异地预缴企业所得税会计分录
  • 维修税控设备分录
  • 自然人税收系统怎么添加人员
  • 报销差旅费如何报税
  • 加油站的成品油经营许可证过期3个月还能换证吗?
  • qtaet2s.exe - qtaet2s是什么进程 有什么用
  • 货物运输业增值税专用发票可以抵扣吗
  • 押金要不回来怎么办
  • 收到预付款计入什么科目
  • PHP:pg_escape_literal()的用法_PostgreSQL函数
  • 用科目汇总表怎么登记总账
  • 房地产开发公式
  • php缓存文件并自动清理
  • vue手机端
  • 企业租赁房屋怎么开票
  • yolo v1 pytorch源代码
  • 前端工程搭建
  • vue3路由守卫 微信授权登陆
  • 深度学习如何训练出好的模型
  • ajax调用php接口
  • php能开发微信小程序吗
  • 操作系统启动流程
  • 固定资产售后回购会计处理
  • 会计实操和实际工作一样吗
  • python的socket
  • 织梦商城
  • 将织梦dedecms转换到wordpress
  • 小规模收入超过30万的会计分录大全
  • 季度预缴纳税申报表利润总额
  • 金税四期对建筑企业的影响
  • 注册资本印花税最新政策2023年
  • 弥补以前年度亏损后怎么交所得税
  • 外购的商品用于生产经营
  • 应付利息的会计分录怎么写
  • 一般纳税人已交税金账务处理
  • 没有发票意味着什么
  • 小规模纳税人记账报税流程
  • 如果收到现金做账了还叫坐支
  • 咨询费放到什么科目
  • 股权转让溢价部分会计分录
  • 从农民手中购买粮食税率
  • 开出银行汇票支付货款
  • 生产质量问题报告
  • 房地产开发土地使用税如何计算
  • 代扣代缴个人所得税分录
  • 冲销销售收入分录
  • 发票开商品类别可以报销吗
  • 食品算日用品吗
  • 收到转账支票怎么填
  • 成本与费用的区别联系
  • 记账凭证制作流程
  • win7浏览器升级到ie11
  • windowsxp2
  • xp系统安装条件
  • auepuc.exe是什么软件
  • 装win7ahci
  • win10系统开机弹文件资源管理器窗口
  • 2019谷歌浏览器
  • 如何把旧mac上的所有内容迁移到新mac上
  • 游戏新手引导架构
  • JS实现的base64加密解密完整实例
  • javascript简单代码
  • Easyui 之 Treegrid 笔记
  • 安卓打包安装程序apk
  • jquery设置div的宽度和高度
  • 怎样查询退休审核表
  • 大宗物流服务平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设