Cocos Studio 2.0版本数据解析方法示例

首先,您需要引入GUI头文件

引擎版本:Cocos 2d-x 3.3RC0
编辑器版本:Cocos Studio 2.0Beta0

#include “cocosGUI.h”
#include”CocosStudio.h“
新版本的Cocos2d-x已经将工程给引入到Cocos2d-x下libcocos2d库中,所以无需更多操作。

接下来是数据解析的方法:

//节点
Node* node = CSLoader::createNode(“ActionTest/MainScene.csb”);
this->addChild(node);
//动画
ActionTimeline* action = CSLoader::createTimeline(“ActionTest/MainScene.csb”);
node->runAction(action);
action->gotoFrameAndPlay(0, true);

因为我们在2.0版本中添加了工程文件的相互引用的支持,所以可能会存在画中画,关于这个可以参考下面的方法获取并控制。

//取出动画中的动画
auto moveNode = node->getChildByName(“moveNode”);
if(moveNode)
{
//获取动画对象,这个动画相当于这个节点在时间轴里的所有动画内容。且这个节点需要是导入的csd文件类型节点。
ActionTimeline* atl = dynamic_cast<ActionTimeline*>(moveNode->getActionByTag(moveNode->getTag()));
//设置帧事件回调方法
atl->setFrameEventCallFunc(CC_CALLBACK_1(TestAction::onFrameEvent, this));
//停止动画
//moveNode->stopAction(atl);
//获取节点中的子节点
auto rotationNode = moveNode->getChildByName(“rotationNode”);
if(rotationNode)
{
//获取节点的动画
ActionTimeline* raction = dynamic_cast<ActionTimeline*>(rotationNode->getActionByTag(rotationNode->getTag()));
//raction->gotoFrameAndPlay(0,200,true);
raction->setFrameEventCallFunc(CC_CALLBACK_1(TestAction::onFrameEvent, this));
}
}

Very Good.

3.2的xcode 要这么引入libcoco2d呢

顶一下:2:

目前只有3.3的cocos2d-x、3.1的cocos2d-js,支持cocos studio 2.0

多谢 了:2:

请问如果我导入旧的动作工程,之前分好的动作怎么调用,现在效果是动作连续调用

强烈建议加一个异步加载功能,没这个很多时候游戏加载会卡,玩法需要

我做Cocos Studio v2.0 Beta0入门教程—从零开始之《闹钟》 的时候,把Clock.csd 拖到MainScene.csd中作为child。但是在cocos2dx 3.3rc0中通过CSLoader::createNode(“MainScene.csb”)的方法能显示出来MainScene的背景,但是显示不出来Clock.csd里面的闹钟。于是我试着用 getChildByName() 的方法来找到scene下面的闹钟,但是返回的是个NULL

3.2版本读取csb不行吗。总是崩溃

目前只有3.3的cocos2d-x、3.1的cocos2d-js,支持cocos studio 2.0

靠,引入的头文件不对,版主,害我弄了半天

不行,引用了cocosGUI.h,按照你写的代码一模一样的作法,提示CSLoader没有定义


#include”CocosStudio.h“
注意cocos2d的命名空间

能不能告知一下 那个示例在哪??我是新手。。求告知示例!

楼主我的 那个 能编译过为什么报错是空指针啊!得不到子节点

可不可以把完整的代码发一下。。。。。我按楼主的方法怎么不对呢0.0,,,,,版本是一样的啊。。

新人求指教。。

请问你问题解决了吗?我的也是一样啊。
哪位大神能给个例子或代码片断或传送门? :6: :6: :6: :6: 几天了一个进展也没有,还怎么学下去啊

头文件不对的这么加
#include “cocostudio/CocoStudio.h”
我是这么解决的!
不过及时添加了头文件ActionTimeline还未定义,明明是有定义的,已经卡在这样的问题上一天了!

是不是没用using对应的命名空间。