Cocos2dx:Cocos Studio2.0发布的CSB资源在Cocos2d-x中的使用

转载 2016年04月13日 15:02:14

1. 新版本的加载方式: 

使用Cocos Studio 2.0发布的CSB资源更换了加载方式,需要用CSLoader来加载。CSLoader在Cocos2d-x 3.3RC0开始提供。 

<span style="color:#464646;">#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() 
{ 
//以下是加载相关的代码: 
None *rootNode = CSLoader::createNode("MainScene.csb");//传入Studio2.x的资源路径 
this->addChild(rootNode);//假设this是即将显示的scene 
  
//加载动画: 
ActionTimeline *action = CSLoader::createTimeline("MainScene.csb"); 
rootNode->runAction(action);//注!!!:同一个文件创建的节点只能使用同一个文件创建的动画。 </span><span style="color:#464646;">
  
  
//播放动画: 
action->gotoFrameAndPlay(0,60,true);//从第0帧到60帧循环播放。还有其他重载函数,具体看源码。 
  
  
//帧事件监听 
action->setFrameEventCallFunc(CC_CALLBACK_1(myScene::onFrameEvent, this)); 
//关于CC_CALLBACK_1需要点C++11的基础才能知道是咋回事,这里只要照着写就行。想了解可以查下std::Bind 
} 
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"); 
    } 
}</span>

2. 关于一个UI界面多个动画

这个暂时还没有提供,目前是一个UI带一个Action。 但是可以通过限制播放第几帧到第几帧的的方式来播放同一个动画的不同段。 

如:

action->gotoFrameAndPlay(0,60,true);循环播放0-60帧 
action->gotoFrameAndPlay(60,120,true);循环播放60-120帧

3. 资源的预加载(CocoaChina论坛会员user_rcs同学提出的) 

一直以来Studio的UI界面都是没有提供资源异步加载的 

但是UI里头用到的图片是可以用异步的方式预先加载到内存的。 

1
TextureCache::getInstance()->addImageAsync(filename,callback)

可以用这个函数把图片都异步读到内存,然后再去加载UI。 

PS:Cocos2d-x 3.2之前UI的加载速度是很慢的,但是3.2开始UI的加载速度已经大幅优化过了,现在加载UI主要消耗的时间在从内存读文件上。 


来源:http://www.cocos.com/doc/tutorial/show?id=1946


解决 cocos2dx UIWidget 加载速度慢造成的游戏卡顿

我们游戏项目中的 ui 实现方式,采用的是用 cocostudio 编辑ui ,导出 exportjson he
  • korekara88730
  • korekara88730
  • 2014年09月06日 00:16
  • 6987

【独立开发者er Cocos2d-x实战 003】使用Cocos Studio制作plist文件

在【独立开发者er Cocos2d-x实战 002】使用Cocos Studio创建帧动画中,我们已经知道如何创建帧动画,接下来就说说如何进行plist文件的制作/生成。步骤如下: 创建一个工程CAn...
  • chenqiai0
  • chenqiai0
  • 2015年07月09日 19:11
  • 7822

cocos2dx 导入使用cocosStudio编辑的UI界面

一,在头文件中加入: #include "cocos2d.h" #include "cocos-ext.h" USING_NS_CC; using namespace cocos2d::ext usi...
  • wgslucky
  • wgslucky
  • 2014年02月12日 22:44
  • 1840

Cocos Studio images文件与CSB的路径相对关系

Cocos Studio images文件与CSB的路径相对关系
  • wanyang1203
  • wanyang1203
  • 2015年08月30日 00:10
  • 1235

【独立开发者er Cocos2d-x实战 001】csb文件导出和加载

原文地址:http://blog.csdn.net/chenqiai0/article/details/46633407/ 使用cocos studio进行资源文件导出: ...
  • qq_30392565
  • qq_30392565
  • 2016年10月13日 11:41
  • 3247

【cocos2d-x 2】关于CocosStudio编辑出的csb的简单使用

说明:cocos2d-x版本为 3.4,cocosStudio版本为2.1.5  cocosStudio 我个人目前的认识,以为就是一个界面编辑器。界面通过美工可以排布好,然后把发布的csb...
  • HongHuer
  • HongHuer
  • 2015年03月30日 17:24
  • 21312

Cocos Studio2.0发布的资源在Cocos2d-x中的使用简介

1. 新版本的加载方式:  使用Cocos Studio 2.0发布的CSB资源更换了加载方式,需要用CSLoader来加载。CSLoader在Cocos2d-x 3.3RC0开始提供。  ...
  • SweetLoveFT
  • SweetLoveFT
  • 2015年02月22日 15:47
  • 910

【cocos2d-x 2】关于CocosStudio编辑出的csb的简单使用

说明:cocos2d-x版本为 3.4,cocosStudio版本为2.1.5  cocosStudio 我个人目前的认识,以为就是一个界面编辑器。界面通过美工可以排布好,然后把发布...
  • imxiangzi
  • imxiangzi
  • 2016年03月21日 14:17
  • 1046

cocos2d-x安卓开发环境搭建(windows+eclipse+ndk 不用cygwin) cocos2dx2.0

转自http://www.cnblogs.com/ybgame/archive/2012/06/07/2540693.html 【一 写在前面】 环境搭建的顺序是这样 1.JDK&JRE    ...
  • jinjian2009
  • jinjian2009
  • 2012年10月20日 19:19
  • 1885

Cocos2dx 3.x的android studio项目之间.so库、资源移植

有时候,我们可能需要把Cocos2dx的proj.android-studio项目中编译好的.so库移植到我们某个android studio项目中进行使用,本文将详细介绍整个移植过程。图1是coco...
  • limonzet
  • limonzet
  • 2016年04月15日 14:43
  • 4629
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cocos2dx:Cocos Studio2.0发布的CSB资源在Cocos2d-x中的使用
举报原因:
原因补充:

(最多只允许输入30个字)