从CocoStudio2.0开始,更新了代码中更新资源的方式,需要用CSLoader来加载。
#include "ui/CocosGUI.h"//UI相关的头文件
#include"cocostudio/CocoStudio.h"//在CocosStudio.h 头文件中已经包含了Studio所需要的各个头文件(除CocosGUI)因此我们使用Studio仅需要包含他就可以
using namespace cocos2d;//CSLoader位于cocos2d命名空间。
using namespace cocostudio::timeline;//动画相关的类位于cocostuio::timeline当中
void myScene::initFunc()
{
//以下是加载相关的代码:
Node *rootNode = CSLoader::createNode("MainScene.csb"); //传入CocoStudio 2.x的资源
this->addChild(rootNode); //假设this是即将显示的scene
//加载动画:
ActionTimeline *action = CSLoader::createTimeline("MainScene.csb");
rootNode->runAction(action); //注: 同一个文件创建的节点只能使用同一个文件创建的动画。
//播放动画:
action->gotoFrameAndPlay(0, 60, true); //从第0帧到60帧循环播放。还有其他重载函数,具体看源码。
//帧事件监听
action->setFrameEventCallFunc(CC_CALLBACK_1(myScene::onFrameEvent, this));
}
void myScene::onFrameEvent(Frame* frame)
{
EventFrame* evnt = dynamic_cast<EventFrame*>(frame);
if(!evnt)
return;
std::string str = evnt->getEvent();
if (str == "xxoo")
{
CCLOG("come on baby");
}
}
获取某一节点的API:
getChildByName(name)
getChildByTag(tag)
Helper::seekWidgetByName(name)
Helper::seekWidgetByTag(tag)