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;
				}
根据马里奥的状态来播放不同的动画。

你可能感兴趣的:(cocos2dx进阶学习之CCBI文件)