从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)