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

转自:http://cn.cocos2d-x.org/tutorial/show?id=1945

1. 新版本的加载方式: 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#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); //注!!!:同一个文件创建的节点只能使用同一个文件创建的动画。 
  
  
//播放动画: 
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" ); 
    
}

 PS:不会看源码的码农不是好程序猿啊。经常有人求某个API接口,这东西查查头文件看接口名就能知道个大概啦。源码就是最权威的API文档啊!

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

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

如:

1
2
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主要消耗的时间在从内存读文件上。 

 

4.其他方面的例子 

a.github上的一个游戏demo:https://github.com/chukong/CocosStudioSamples

b.在Cocos2d-x 3.3引擎根目录下Build的文件夹里头,有个Win32的解决方案sln文件,用VS打开。 

这个是Cocos2d-x的test项目,里头演示了2d-x几乎所有功能,包括Studio相关的内容。这个算是用来学习2d-x捷径。 

5.节点获取 

参考《基于Cocos Studio 2.0获取某个节点的方法

6.如何监听各个GUI控件的交互事件(参考文章

 

7.编辑界面中各个控件属性在Cocos2d-x中对应的接口(beta0) 

UI控件分类下载:UI控件分类(1).zip(有标明控件和2d-x中对应的GUI类) 

Cocos引擎中文官网现面向广大Cocos引擎相关开发者征集优秀教程(Cocos2d-x/Cocos2d-JS/Quick/Cocos Studio),欢迎给位童鞋踊跃投稿!来稿请发送至:support@cocos.org。

来源网址:http://www.cocoachina.com/bbs/read.php?tid=265757


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值