cocos2d 解密ccbi_cocos2dx进阶学习之CCBI文件
在马里奥这个游戏里,我们用到了几个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文件相关推荐
- cocos2d 解密ccbi_cocos2d-x高级学习
弱联网开发技术: libcurl 添加lib文件:libcurl_imp.lib pthreadVCE2.lib 添加头文件:#include"curl/curl.h" curl ...
- java上传视频到七牛云_Java进阶学习:将文件上传到七牛云中
Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...
- 独创:几十行纯php代码解密goto加密的php单文件[仅供学习]
使用用途 安全测试:测试你用网络工具加密的代码是否可以被快速解密. 学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密. 安全评估:解密自己用的第三方源码是否有危险行为,比如后门.间谍行为. ...
- 一起进阶学习JAVA:MySQL海量数据存储与优化
一起进阶学习JAVA:MySQL海量数据存储与优化 第一部分 分库分表实战及中间件 1.1 背景介绍 1.1.1 背景描述 刚开始我们的系统只用了 单机数据库 随着用户的不断增多,考虑到系统的高可用和 ...
- 安卓开发陀螺仪!首发10万字Android开发实战文档,进阶学习资料!
Gradle是什么? Gradle是一种构建语言,目前是Android的默认构建工具,我们编写的编译脚本,其实就是玩Gradle的API,所以从它更底层的意义上看,是一个编程框架. 因为涉及的内容很多 ...
- 实现原理讲解!2020Android目前最稳定和高效的UI适配方案!进阶学习资料!
前言 组件化是 保持整个 App 可持续地进行高质量开发的基础,近年来也是业界一直在积极探索和实践的方向,在深入理解组件化架构的过程中,将不断考验你的技术深度与广度: 实践中我还参考了十几家技术团队的 ...
- android java服务,Android进阶学习必会:Java Binder中的系统服务
前言 这个知识点是Android进阶学习必须掌握的知识点之一,也是高阶Android架构师经常问到的点.在这里分想给大家,希望对大家的工作和学习有所帮助.喜欢本文的记得点赞关注哦~ 在前面的Andro ...
- SSM框架学习——Maven进阶学习
her~~llo,我是你们的好朋友Lyle,是名梦想成为计算机大佬的男人! 博客是为了记录自我的学习历程,加强记忆方便复习,如有不足之处还望多多包涵!非常欢迎大家的批评指正. 今天我们进入新的学习环节 ...
- Tensorflow 进阶学习
Tensorflow 进阶学习 学习一个GAN网络代码,在train函数中,出现了如下调用tf的函数: def train(self):update_ops = tf.get_collection(t ...
最新文章
- leetcoder reverse polish notation解题笔记
- SAP UI5 OData, annotation这些设计的意义
- 主题:的中间层框架 第一节
- mysql pdo prepare_php pdo prepare真的安全吗
- 从实践应用中催生课题,通过课题研究促进应用
- 中国未来家庭STEAM教育趋势研究报告
- HTML深海骑兵制作,深海迷航代码独眼巨人号护盾发生器 | 手游网游页游攻略大全...
- DayDayUp:此刻,可以坐在家里,来一次,说走就走的【VR虚拟旅行】1000多个国内外景区免费看!
- bsc全节点搭建(币安智能链)
- 如何下载网吧电影服务器上的电影
- android layout.inflater,LayoutInflater.inflate详解
- 《浣溪沙·一曲新词酒一杯》 晏殊
- 设置默认打印机出现错误。提示无法完成,错误是0x00000709
- 关于bootstrap4 以下 与bootstrap5 的区别
- 四川文科高考300分可以上什么专科
- 基于单片机的温湿度串口监控系统设计(#0429)
- 计算机小写换大写函数,在Excel中将金额从小写转换为大写以在Excel RMB中自动将金额大写的三种方法...
- Ubuntu 安装配置
- 生物学上描述DNA/RNA的长度常用的kb、nt、bp是指什么
- 我的AI之路(20)--用Tensorflow object_detection跑raccoon数据集
热门文章
- wordpress插件-wordpress蜘蛛记录插件
- 重构数据-Self Encapsulate Field自封装值域一
- python求和函数1-n_PYTHON1.day11(n)
- 放宽心,坚持住,一切都是最好的安排!
- mysql查询总成绩的前3名学生信息
- 深度学习疲劳检测 驾驶行为检测
- android开发 给app设置应用白名单 即省电策略设置为无限制(小米,华为亲测有效)
- 通俗易懂:Attention中的Q、K、V是什么?怎么得到Q、K、V?
- 微宝球型机器人功能_微宝球型机器人即将开售 酷炫玩法升级
- Docker网络和端口映射