您的位置:首页 > 移动开发 > Cocos引擎

CocoStuido 2.x中发布的资源怎样在cocos2dx 3.x中使用

2014-11-26 17:09 441 查看
从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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Cocos2d-x game