0

我正在从我的 Cocos2d-x 项目中加载一个 CCB 文件,但我无法从自定义类访问 CCBAnimationManager。

在 Cocos2d 中使用 Objective-C 很简单:

CCBAnimationManager* animationManager = self.userObject;

但是 C++ 中的相同实现返回一个空值,执行会导致崩溃......

任何的想法?谢谢

4

1 回答 1

1

是的,它不像 obj-C 那样简单。新的 TestCpp 项目为此提供了一个示例。查看(CocosBuilderTest->AnimationsTest)。

基本上,您需要创建一个 CCNodeLoaderLibrary 并将其注册到您的自定义加载器类中。

CCNodeLoaderLibrary * ccNodeLoaderLibrary = CCNodeLoaderLibrary::newDefaultCCNodeLoaderLibrary();

ccNodeLoaderLibrary->registerCCNodeLoader("TestAnimationsLayer", AnimationsTestLayerLoader::loader());

然后用那个 ccNodeLoaderLibrary 创建一个 CCBReader

cocos2d::extension::CCBReader * ccbReader = new cocos2d::extension::CCBReader(ccNodeLoaderLibrary);

现在,您将能够通过此 ccbReader 获取 CCBAnimationManager

ccbReader->getAnimationManager()
于 2013-02-08T01:00:55.987 回答