位置: 编程技术 - 正文

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怎么用)

  • 个税申报的收入扣除社保吗
  • 年初结转增值税社保如何做账
  • 在建工程转固定资产需要交税吗
  • 定期定额征收如何办理税费认定
  • 来料加工出口免税不退税
  • 增值税专用发票几个点
  • 申报个人所得税会计分录
  • 税务变更需要哪些材料
  • 建筑施工企业会计制度
  • 个人所得税允许扣除的费用
  • 实收资本转出怎么做账
  • 公交补贴收入账务处理怎么做?
  • 供应商租赁企业资质要求
  • 购买商品加包装后出售账务处理
  • 银行承兑汇票到期日期怎么算
  • 其他贷款服务的内容包括
  • 房屋租赁费发票可以抵扣吗
  • 出口退税和企业所得税
  • 开具正规发票和不开发票对企业纳税的影响有什么不同?
  • 处理固定资产如何开票
  • 增值税专用发票的税率是多少啊
  • 附加税是地方还是国家的
  • 产品售后维修费分录
  • 个人所得税法规定可减征个税的情形有
  • 汇算清缴补交需要调报表吗
  • 购进的样品入账科目
  • 垫付的工程款可以起诉要回吗
  • 合并报表的少数股东权益分录
  • 购买境外技术缴纳税费
  • 英雄联盟电脑软件图片
  • win10护眼模式在哪
  • 其他债权投资的交易费用计入什么科目
  • 中秋佳节发放职工福利的话语
  • 真实有效的18岁身份证
  • 来电转接怎么设置空号
  • macbook版itunes
  • 如何解决心脏供血不足
  • 如何在windows中添加输入法
  • 增值税账务处理 一般纳税人
  • 房产税城镇土地使用税申报期限
  • uniapp传值
  • python抓取淘宝店铺商品
  • 代收款用什么会计科目
  • 房地产公司计提税金
  • 对方开具红字发票,我方怎么查询
  • 预提费用汇缴时间怎么算
  • 交强险还用开车去吗
  • 递延所得税负债大白话解释
  • 当月进项发票忘记抵扣
  • 年终奖政策,提成怎么算
  • 专票已认证但又不能抵扣
  • 城乡居民死亡后需要办理什么手续
  • 一般纳税人购货取得普通发票
  • 怎样算小公司
  • mysql中删除表中的数据
  • 运维过程
  • mysql日志有哪些
  • 微软9月30日将发行股票
  • centos如何删除bond
  • Linux Mint 5 XFCE Community Edition RC1 (BETA 025) 本月17日开始发布
  • linux修改ipv6地址
  • rsrcmtr.exe - rsrcmtr是什么进程 有什么用
  • linux文件目录的含义
  • win8桌面不显示
  • cocos环境搭建
  • cocos2dx在不同安卓机型下scrollview裁剪失败
  • unity如何操作
  • Node.js中的什么模块是用于处理文件和目录的
  • JavaScript+html5 canvas制作的圆中圆效果实例
  • jquery的点击事件怎么写
  • jQuery插件封装时如要实现链式编程,需要
  • jquery showloading
  • 税务局人工客服时间
  • 党日活动与专业建设结合
  • 土地闲置是否需要缴纳土地使用税
  • 税控盘怎么申请领发票
  • 如何税务监管更精准
  • 江苏省职工医保门诊报销比例
  • 征收两道消费税怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设