位置: 编程技术 - 正文

Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结

编辑:rootadmin
1. CCTexture2D CCSpriteFrame CCSprite 三者之间的关系

推荐整理分享Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

CCTexture2D 是贴图纹理, 是缓存到GPU中的图片数据。

CCSpriteFrame 是相对于动画来说的概念,代表动画中“帧”,CCSpriteFrame 是贴图纹理CCTexture2D中某块区域,或者这个贴图纹理。

CCTexture2D 和 CCSpriteFrame 都是我们看不到的 , 我们真正能看到的 应该是 CCSprite。

CCSprite 是显示到场景中的精灵, 是被实际画出来的东西, 那CCSprite 和 CCTexture2D ,CCSpriteFrame 又有什么关系呢?

下面我将给你们来介绍。

CCSprite 的创建方式有如下几种

1.CCSprite 可以通过 图片的路径来创建。

2,CCSprite 可以通过 CCSpriteFrame 来创建

3,CCSprite 可以通过 CCTexture2D 来创建

其实上面三种创建方式 ,最后的函数调用都是通过 CCTexture2D ,来创建一个 CCSprite.

最后都会掉到如下函数

Cocos2dx   CCSprite  CCSpriteFrame  CCTexture2D  CCAnimation学习总结

所以总的来说,CCSprite的创建 是通过 缓存在GPU中的 贴图纹理来实现的。

2. 介绍一下 与CCSprite CCSpriteFrame CCTexture2D 有关的,能提高效率的一些缓存单例类CCSpriteFrameCache 精灵帧缓存类,通过.plist 和 .png图片 来缓存了一些CCSpriteFrame的对象, 这个类解决 碎图 问题, 大大提高了效率, 通过一些工具把一些碎图 (小图片)整合到一张大图片中,通过加载一次贴图纹理,就把所有的整合到大图中的图片 加载了进去,缓存到CCSpriteFrameCache 对象中,以后就可以通过碎图的名字,从 CCSpriteFrameCache 对象中 获取 精灵帧对象。 然后可以使用获取的精灵帧做其他处理。CCTextureCache 贴图纹理缓存类, 这个类可以把一些图片加载到GPU之后, 缓存起来, 以后直接取就可以了。接下来要说说的 ,我感觉比较重要的两个类 CCSpriteBatchNode 和 CCTextureAtlas, 这两个类只所以重要,是因为它们大大提高了渲染效率。举例来说,如果你想创建个一样精灵图片,你有可能创建个CCSprite, 这样也是可以的。 但是引擎在渲染的时候要渲染次(调用次CCSprite draw方法)。如果使用CCSpriteBatchNode 只需渲染一次(调用1次CCSpriteBatchNode draw方法),重要绘画显示而是使用CCTextureAtlas对象中 drawNumberOfQuads方法。drawNumberOfQuads方法会把所有要显示的精灵显示出来。CCSpriteBatchNode 通常也是加载一张包括很多碎图的大图片, 然后获取这些碎图精灵 添加到CCSpriteBatchNode对象中。3. CCAnimition 和 CCSpriteFrame 之间的关系

我的理解是CCAnimation 是个动画,不过是个静态容器, 这里面存储一些静态的 CCSpriteFrame 和一些帧间 隔时间之类的信息。 而是不能播放的, 如果要播放必须通

过CCAnimate类来实现, 这个才是播放动画的类。

如上是我的一些学习总结,有什么不对的 ,欢迎指正, 共同学习进步。

在cocos2dx 中添加自定义 shaders --- 改变 HSL 色调,饱和度, 亮度 订阅步骤1准备shaders文件-ccShad_Hsl.h/**cocos2dforiPhone:

Cocos2dx的截屏与遮罩 Cocos2dx3.2截取精灵部分;boolHelloWorld::init(){//////////////////////////////if(!Layer::init()){returnfalse;}SizevisibleSize=Director::getInstance()-getVisibleSize();Vec2origin=Director::getInst

cocos2dx菜单重叠按钮实现按层优先选择及透明过滤 众所周知,在cocos2d-x中,通过CCMenu(抱歉,笔者至今任然在用2.2.2的版本)创建的菜单,如果遇到数个按钮有重叠,当用户点击重叠区域(包括PNG图标中

标签: Cocos2dx CCSprite CCSpriteFrame CCTexture2D CCAnimation学习总结

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

上一篇:返回场景和音乐(返回场景和音乐的区别)

下一篇:在cocos2dx 中添加自定义 shaders --- 改变 HSL 色调,饱和度, 亮度(cocos怎么用)

  • 印花税计算是含增值税吗
  • 太阳能发电税收优惠政策
  • 交易性金融资产有哪些
  • 认缴制投资方的账务处理
  • 全资收购企业需要交税吗
  • 标准成本法核算方法
  • 地下车库的成本核算
  • 文化事业建设费怎么计算
  • 社会团体收费项目有哪些
  • 安全费用支出范围包括
  • 支付拆迁补偿款
  • 建筑业挂靠核定征收会计分录怎么写?
  • 事业单位存货包括哪些
  • 员工扣款个税如何做账
  • 账本印花税怎么缴纳
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 公司成立后一直没有收入
  • 资产负债表和业务活动表勾稽关系不对怎么查
  • 处置打包债权如何缴纳个人所得税?
  • 高新技术企业取消资格的程序
  • 高新技术企业的研发费用比例
  • 航天金穗怎么开票
  • 财政拨款结转的借贷方向
  • 小规模纳税人销售额超过500万
  • 出口退税的会计分录实例
  • 收到别人押金的会计分录
  • 航天信息维护费300元能全额抵扣吗
  • 外购货物用于不动产在建工程
  • 给子公司开票 总公司付款
  • 公司赞助商
  • 总包和分包是什么关系
  • 股票溢价发行是什么意思
  • ts基础类型
  • JavaScript includes() 方法
  • PHP面向对象程序设计
  • win11任务管理器卡死没响应
  • Python图像识别实战(四):搭建卷积神经网络进行图像二分类(附源码和实现效果)
  • 不是销售类的工作可以做什么
  • 没有交过税怎么办
  • 资产账面价值大于计税基础产生递延所得税负债
  • 记账和结账可以一起用吗
  • 土石方收据图片
  • 母公司吸收合并全资子公司
  • 新办企业装修会计分录
  • 财务负责人需要工商登记吗
  • 解决掉发的有效方法
  • 不动产租赁如何避税
  • 自来水厂被收购,员工怎么办
  • 公司缴纳养老保险最低标准
  • 蔬菜批发成本怎么核算
  • 个体工商户不缴纳印花税吗
  • 去年的亏损今年第一季度可以弥补吗
  • 暂估成本后发票怎么处理
  • 车船税开在备注栏相关文件
  • 发票入账但是没付款有什么税务风险
  • 管理费用结转有余额吗
  • WinXP系统能上qq但打不开网页原因分析及解决方法
  • 华硕笔记本电脑官网
  • 浏览器8系统怎么打不开主页
  • win平板装ubuntu
  • 电脑图片打印不出来怎么办
  • 如何升级win
  • iptables用法
  • xp系统升级成win7还会卡吗
  • win10系统怎么刻录光盘?win10刻录光盘详细图文步骤
  • Win10 Mobile 10586.164上手体验视频评测
  • linux装完显卡驱动分辨率低
  • 深入理解
  • unity如何操作
  • JavaScript驾驭网页-CSS与DOM
  • bootstrap基础教程
  • js中ajax完整例子
  • unity的spine动画切换
  • jquery显示当前时间
  • javascript数据类型有哪些
  • jquery中validate
  • setBackgroundDrawable和setBackgroundColor的用法
  • apk反编译去广告教程
  • 福建闽江人才服务中心可靠吗
  • 交警认可的客货两用车型
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设