位置: 编程技术 - 正文

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

  • 股票印花税怎么交
  • 微信收入算现金流出吗
  • 小规模免哪些税
  • 收到促销费方怎么做账
  • 去年开的专票今年可以作废吗
  • 累计所得税前净现金流量计算公式为
  • 外地办事处能交当地社保吗
  • 跨月发票作废怎么操作流程
  • 公司买卖股票如何账务处理
  • 个人所得税生产经营所得税率表2023
  • 商业保险可以税前全额扣除吗?
  • 固定资产丢失收入怎么办
  • 生育津贴需要缴纳五险一金吗
  • 哪些银行承兑汇票比较好
  • 银行手续费做账漏掉
  • 暂估原材料已领用还红冲吗
  • 预付款能开发票吗?
  • 企业筹建期间可以自己发农民工工资么
  • 事业单位打印费计入什么科目
  • 汇兑结算包括
  • 如何把操作系统转移到固态硬盘
  • 企业并购效益
  • 预缴的城建税怎么做账
  • 物流货损怎样处理
  • 删除桌面上的图标用什么键
  • rosnmgr.exe - rosnmgr是什么进程 有什么用
  • 苹果手机录音转mp3怎么转
  • pavsrv50.exe - pavsrv50进程管理信息
  • 公司投资款无法收回
  • 巴塞罗那城市布局
  • php redis使用
  • 开发费用怎么入账
  • vue中事件
  • 微信小程序完整授权
  • 公司的内账
  • python打开文本文档中文读不出来
  • calc下载
  • 所得税申报表上的营业成本怎么填
  • 展览费应在在管理费里吗
  • 购入固定资产的会计处理
  • 尚未抄税无法申报
  • 捐赠合同模板
  • 应发工资包含
  • 研发人员工资计入什么科目
  • 未完工属于什么科目
  • 存货科目计算公式是什么
  • 折扣方式销售如何确定销售额?
  • 加计扣除是指什么意思
  • 先付款后开发票的会计分录?
  • 上个月结转的流量下个月能用吗
  • 付款凭证怎么写样本
  • 商贸公司库存表怎么做
  • 其他应付重分类到其他应收
  • 剩余股利政策发放股利后的年末未分配利润
  • 帐簿凭证的管理方法
  • mysql的安全级别
  • xp系统安装版如何安装
  • 建立iis
  • wlanplus是什么软件
  • win7看视频黑屏有声音
  • linux的web服务器
  • js 读取 excel
  • font:inherit
  • android适配器是什么意思
  • dom和javascript的关系
  • unity mathf.sin
  • unity3d quaternion
  • javascript教学视频
  • 如何用jquery
  • listview添加数据
  • js的ajax请求写法
  • pdb settrace
  • jquery easyui datagrid实现增加,修改,删除方法总结
  • android实现多线程的方法
  • 打印个人住房信息查询记录需要什么资料
  • 天然气入户安装收费标准2023
  • 昆山市税务分局领导名单
  • 四川省税务局税费服务支持中心工作人员编制
  • 地方税务局属于地市级还是副省级
  • 非法印制发票的后果
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设