位置: 编程技术 - 正文

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

发布时间:2024-02-27

推荐整理分享【深入了解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库)

  • 房产税如何申报流程
  • 汇票签收后可以撤回吗
  • 计提坏账部分收入怎么算
  • 党费会计核算科目说明
  • 建筑工程发票来自哪里
  • 付款单位与开票单位不一致如何做账?
  • 委托出口货物是什么科目
  • 纳税人领购普通发票要求
  • 公司向个人借入资金的风险
  • 专票入账用哪一联
  • 建筑业会计实操视频教程
  • 关于环保税税目正确的有
  • 发票验旧后可领新发票吗
  • 发票是不是一定要三签才能开
  • 信用减值损失编码
  • 店内上保险退保
  • 进口商品买卖的关键环节
  • 增值税暂行条例属于
  • 固定资产出售是否属于日常关联交易
  • 收入低于10万免征附加税
  • 出售原材料属于营业收入吗
  • 出口退税计算方法是免退税吗
  • 机动车购置税怎么收
  • 管理费用劳务费包括什么
  • 发票需要写真名吗
  • 药店销售小票要保存多久
  • 企业给学校捐款的申请怎么写
  • 虎杖的养殖方法和用量
  • 股权转让交易税计税依据是什么
  • macOS Big Sur 11.3 开发预览版 Beta正式更新
  • 哪些发票不可以通过数电平台开具
  • codeigniter 教程
  • 微信小程序插件有哪些
  • 怎么用云服务
  • react moment
  • 转账不同银行同城转账手续费多少
  • 一般纳税人公司注册需要几个人
  • 出售子公司股权不丧失控制权
  • 应付账款为什么要算增值税
  • 核定征收需要申报吗
  • 总账和明细账期间相同吗
  • 质保金需要确认收入吗
  • sql存储过程详解图
  • 房屋消防工程
  • 实收资本什么情况下会增加
  • 制单会计岗位风险点
  • 物业公司水费差额征税如何申报
  • 过次页和承前页怎么算
  • 把公司土地转让合法吗
  • 房地产营业税率是多少
  • 预缴的增值税放哪个科目
  • 公司进货厂家给开发票吗
  • 成本费用总额占营业总收入的比率
  • 预交企业所得税税率
  • 应付票据贴现利息收入会计分录
  • 业务招待费可以结转下年抵扣吗
  • 如何登录网络?
  • 坏账准备对资产负债表影响
  • 销售净利润怎么算
  • js操作剪切板
  • mysql理论知识
  • sql时间格式化大全
  • win8命令提示符管理员怎么打开
  • win10无法进入休眠状态的原因
  • win10系统打不开此电脑和文件夹
  • win8系统打不开exe
  • opengl立体模型
  • mongo 安装
  • python常用的安装扩展
  • vue父子组件之间的通讯
  • Unity3D游戏开发培训课程大纲
  • jQuery ztree实现动态树形多选菜单
  • android synchronized
  • 个人进口关税税率
  • 2020年保安证取消了吗
  • 新疆税务app操作手册
  • 经纪代理服务税率1%
  • 广东可以去吗
  • 转卖车位土地增值税税率
  • 先进单位表彰发言稿
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号