位置: 编程技术 - 正文

【深入了解cocos2d-x 3.x】一步一步通过ClippingNode实现一个功能完善的跑马灯公告(2)(cocos2dx入门)

编辑:rootadmin

推荐整理分享【深入了解cocos2d-x 3.x】一步一步通过ClippingNode实现一个功能完善的跑马灯公告(2)(cocos2dx入门),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos 2,cocos 2,cocos2dx4.0入门,cocosbcx,cocos2dx入门,cocos2dx入门,cocos2d,cocos 2,内容如对您有帮助,希望把文章链接给更多的朋友!

本文的主要内容是根据跑马灯解析ClippingNode实现原理。本文涉及到cocos2dx 3.x的渲染机制以及部分opengl的知识。

首先看看上一篇文章中说到的跑马灯的简单实现:

1.跑马灯代码分析

从创建裁剪节点这里开始分析

这一句话实现了怎么样的功能呢?走进去看看(create函数中,实际上调用的是init函数,所以这里就直接展示init函数了)首先设置_stencil ,这里实际上与setStencil方法一样的(在上文有说过这个方法的作用)然后设置_alphaThreshold ,实际上与setAlphaThreshold是一样的(在上文有说过这个方法的作用)其次设置_inverted ,实际上与setInverted方法是一样的(在上文有说过这个方法的作用)然后调用一个opengl的API,

从逻辑上可以看到这个API在类第一次被创建的时候才会调用。那么这个方法的作用是什么呢,他的作用是将模板缓存中的每一个像素的位数赋&#;给g_sStencilBits,如果这个&#;小于0,说明不支持模板缓存。模板缓存的作用就是将绘图的范围限定在屏幕的固定区域,这个区域可以是一个复杂的图形,这个区域称之为绘图模板。

【深入了解cocos2d-x 3.x】一步一步通过ClippingNode实现一个功能完善的跑马灯公告(2)(cocos2dx入门)

此时,已经将跑马灯的实现代码分析得差不多了,接下来看看具体的渲染部分。

2.渲染代码分析

根据cocos2dx的渲染机制,渲染部分从visit函数开始分析。以下是visit的实现代码

代码中已经写了比较多的解释了,在这里就只看代码中出现了三个比较特殊的函数,分别是首先开看看onBeforeVisit的实现

然后是onAfterDrawStencil的实现:

最后是onAfterVisit的实现

本文涉及到许多关于opengl的相关知识,例如深度测试,模板测试,alpha测试等,以及着色器的使用、渲染机制等。

本文部分注释来自:Cocos2d-x2.1.1-ClippingNodeTest 深入分析

GLEW库安装和初始化 转载请注明出处!GLEW库安装和初始化GLEW库是OpenGL的扩展库,用于支持OpenGL1.1以上的版本[0]。比如着色器特性。一般非集成显卡都能支持到OpenGL2.0或者更

第一个OpenGL程序 刚开始学习OpenGL,感觉这个挺有趣的(在绘制三维模型时,空间想象能力要求比较高,不然很头疼的)。新东西,新心情。。。来一发红色三角形。我

nehe的opengl教程 opengl窗口章 移植到vs win7环境下 1.配置opengl环境,下载glut(openglutilitytoolkit)

标签: cocos2dx入门

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

上一篇:SCARA——OpenGL学习(opengl sharder)

下一篇:GLEW库安装和初始化(glib库)

  • 内含报酬率指
  • 银行会计核算方法的特点
  • 资产负债表里的固定资产是原值还是净值
  • 货到发票没到
  • 准予抵扣的消费税
  • 固定资产折旧摊销表A105080
  • 奖励给优质供应商会计处理怎么做?
  • 广告制作需要交文化建设费吗
  • 工程多少金额需要投标
  • 广告制作需要缴纳文化事业建设税吗?
  • 异地工程需要预交税吗
  • 进项发票抵扣范围
  • 联想笔记本e49系列哪款好
  • 小规模纳税人无票收入免税吗
  • 如何pingip地址
  • 管理软件对相机的要求
  • 销售人员领用材料
  • 跳线和短接
  • php string
  • 企业设立的条件有哪些
  • win10电源高性能被删了
  • 无形资产投资后退出
  • less预处理器详解
  • 微信小程序登录的账号怎么注销
  • php页面刷新代码
  • 好用的5款国产手机推荐
  • 宇宙最强舅舅系统
  • swift 协议扩展
  • 论文笔记模板
  • 大学送礼物该送多少钱的
  • groupdel命令详解
  • wget下载yum
  • 购买方红字信息表已开销售方系统查不到
  • 盘亏的固定资产是资产吗
  • 安装织梦数据库连接不上
  • sql server 实例
  • db2 21000怎么解决
  • 在mysql中设置事务保存点
  • 置换他行按揭贷款
  • 增值税普通发票查询
  • 注册资本与实收资本是否一致
  • 发票一般会失效几天
  • 预收账款退款的会计处理
  • 赠送的商品如何开发票
  • 购买货物对方代垫的运输费分录
  • 库存商品盘盈怎么做账
  • 支付水电费的会计
  • 退货款现金流量如何做
  • 设计费可以一次支付吗
  • 国家规定房屋买卖中介费
  • 发票打印机多少钱一套
  • 编程经验点滴怎么写
  • mysql5.7版本下载
  • vultr vps搭建
  • vmware_vmx.exe进程在哪里关
  • window7 aero
  • 蓝屏代码bad_system_config_info
  • centos nis
  • 修改win7
  • linux就要这样学
  • 如何执行perl脚本
  • opengl transform
  • js控制鼠标位置
  • 用javascript
  • javascript中的this属性
  • android 动效
  • js日历插件日期选择器
  • 怎么配置nodejs的环境
  • node js 前端
  • js中布尔值为false的六种情况
  • python append、extend与insert的区别
  • javascript获取复选框的值
  • python中django框架
  • 群租房怎么举报电话
  • 印花税没有做税种认定
  • 四川省地方税务局关于城镇土地使用税困难减免
  • 税控盘可以换成ukey吗
  • 辽宁房产税2021年新规定来了,自2021年1月28日起执行
  • 全面推进行政执法公示制度包含的主要内容有
  • 如何查公司税务问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设