在马里奥这个游戏里,我们用到了几个ccbi文件,比如蘑菇怪,马里奥等,下面是加载马里奥代码

从这个代码可以看出,马里奥不是个精灵,是一个CCNode对象,是CCBReader对象从一个文件读出来的CCNode,那mario.ccbi究竟是什么文件呢?

ccbi文件是cocosbuilder软件制作的场景资源,现在可以包含动画,像mario.ccbi就包含了一些动画在里面。

资源的加载:

ccbi资源的加载需要用CCBReader对象,创建CCBReader对象又需要CCNodeLoadLibrary对象,所以综合起来代码是:

1)先创建CCNodeLoadLibrary对象

2)通过CCNodeLoadLibrary对象创建CCBReader对象

3)根据CCBReader对象去加载ccbi文件

将来还需要通过CCBReader对象去播放动画,因此在这个设计里,CCBReader对象被定义为成员变量保存,能长期使用。

播放动画:

当马里奥移动时,手臂会摆动,这个时候需要让该CCNode对象去播放动画,播放动画的代码如下:

//根据状态播放动画

switch(m_eCurMarioLevel)

{

case enMarioLevelSmall:

{

m_pCcbReader->getAnimationManager()->runAnimationsForSequenceNamed(_CCB_MARIO_SMALL_HOLD_);

}break;

case enMarioLevelBig:

{

m_pCcbReader->getAnimationManager()->runAnimationsForSequenceNamed(_CCB_MARIO_BIG_HOLD_);

}break;

case enMarioLevelMax:

{

m_pCcbReader->getAnimationManager()->runAnimationsForSequenceNamed(_CCB_MARIO_MAX_HOLD_);

}break;

}根据马里奥的状态来播放不同的动画。

cocos2d 解密ccbi_cocos2dx进阶学习之CCBI文件相关推荐

  1. cocos2d 解密ccbi_cocos2d-x高级学习

    弱联网开发技术: libcurl 添加lib文件:libcurl_imp.lib  pthreadVCE2.lib 添加头文件:#include"curl/curl.h" curl ...

  2. java上传视频到七牛云_Java进阶学习:将文件上传到七牛云中

    Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...

  3. 独创:几十行纯php代码解密goto加密的php单文件[仅供学习]

    使用用途 安全测试:测试你用网络工具加密的代码是否可以被快速解密. 学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密. 安全评估:解密自己用的第三方源码是否有危险行为,比如后门.间谍行为. ...

  4. 一起进阶学习JAVA:MySQL海量数据存储与优化

    一起进阶学习JAVA:MySQL海量数据存储与优化 第一部分 分库分表实战及中间件 1.1 背景介绍 1.1.1 背景描述 刚开始我们的系统只用了 单机数据库 随着用户的不断增多,考虑到系统的高可用和 ...

  5. 安卓开发陀螺仪!首发10万字Android开发实战文档,进阶学习资料!

    Gradle是什么? Gradle是一种构建语言,目前是Android的默认构建工具,我们编写的编译脚本,其实就是玩Gradle的API,所以从它更底层的意义上看,是一个编程框架. 因为涉及的内容很多 ...

  6. 实现原理讲解!2020Android目前最稳定和高效的UI适配方案!进阶学习资料!

    前言 组件化是 保持整个 App 可持续地进行高质量开发的基础,近年来也是业界一直在积极探索和实践的方向,在深入理解组件化架构的过程中,将不断考验你的技术深度与广度: 实践中我还参考了十几家技术团队的 ...

  7. android java服务,Android进阶学习必会:Java Binder中的系统服务

    前言 这个知识点是Android进阶学习必须掌握的知识点之一,也是高阶Android架构师经常问到的点.在这里分想给大家,希望对大家的工作和学习有所帮助.喜欢本文的记得点赞关注哦~ 在前面的Andro ...

  8. SSM框架学习——Maven进阶学习

    her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人! 博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正. 今天我们进入新的学习环节 ...

  9. Tensorflow 进阶学习

    Tensorflow 进阶学习 学习一个GAN网络代码,在train函数中,出现了如下调用tf的函数: def train(self):update_ops = tf.get_collection(t ...

最新文章

  1. leetcoder reverse polish notation解题笔记
  2. SAP UI5 OData, annotation这些设计的意义
  3. 主题:的中间层框架 第一节
  4. mysql pdo prepare_php pdo prepare真的安全吗
  5. 从实践应用中催生课题,通过课题研究促进应用
  6. 中国未来家庭STEAM教育趋势研究报告
  7. HTML深海骑兵制作,深海迷航代码独眼巨人号护盾发生器 | 手游网游页游攻略大全...
  8. DayDayUp:此刻,可以坐在家里,来一次,说走就走的【VR虚拟旅行】1000多个国内外景区免费看!
  9. bsc全节点搭建(币安智能链)
  10. 如何下载网吧电影服务器上的电影
  11. android layout.inflater,LayoutInflater.inflate详解
  12. 《浣溪沙·一曲新词酒一杯》 晏殊
  13. 设置默认打印机出现错误。提示无法完成,错误是0x00000709
  14. 关于bootstrap4 以下 与bootstrap5 的区别
  15. 四川文科高考300分可以上什么专科
  16. 基于单片机的温湿度串口监控系统设计(#0429)
  17. 计算机小写换大写函数,在Excel中将金额从小写转换为大写以在Excel RMB中自动将金额大写的三种方法...
  18. Ubuntu 安装配置
  19. 生物学上描述DNA/RNA的长度常用的kb、nt、bp是指什么
  20. 我的AI之路(20)--用Tensorflow object_detection跑raccoon数据集

热门文章

  1. wordpress插件-wordpress蜘蛛记录插件
  2. 重构数据-Self Encapsulate Field自封装值域一
  3. python求和函数1-n_PYTHON1.day11(n)
  4. 放宽心,坚持住,一切都是最好的安排!
  5. mysql查询总成绩的前3名学生信息
  6. 深度学习疲劳检测 驾驶行为检测
  7. android开发 给app设置应用白名单 即省电策略设置为无限制(小米,华为亲测有效)
  8. 通俗易懂:Attention中的Q、K、V是什么?怎么得到Q、K、V?
  9. 微宝球型机器人功能_微宝球型机器人即将开售 酷炫玩法升级
  10. Docker网络和端口映射