【cocostudio】发布资源在Cocos2d-x中如何使用
http://cn.cocos2d-x.org/tutorial/show?id=1945
1. 新版本的加载方式:
使用Cocos Studio 2.0发布的CSB资源更换了加载方式,需要用CSLoader来加载。CSLoader在Cocos2d-x 3.3RC0开始提供。
#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。 但是可以通过限制播放第几帧到第几帧的的方式来播放同一个动画的不同段。
如:
action->gotoFrameAndPlay(0,60,true);循环播放0-60帧
action->gotoFrameAndPlay(60,120,true);循环播放60-120帧
3. 资源的预加载(CocoaChina论坛会员user_rcs同学提出的)
一直以来Studio的UI界面都是没有提供资源异步加载的
但是UI里头用到的图片是可以用异步的方式预先加载到内存的。
TextureCache::getInstance()->addImageAsync(filename,callback)
1
|
可以用这个函数把图片都异步读到内存,然后再去加载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
转载于:https://blog.51cto.com/kenkao/1585822
【cocostudio】发布资源在Cocos2d-x中如何使用相关推荐
- 3 种发布策略,解决 K8s 中快速交付应用的难题
作者 | 郝树伟(流生)阿里云高级研发工程师 前言 软件技术更新换代很快,但我们追求的目标是一直不变的,那就是在安全稳定的前提下,增加应用的部署频率,缩短产品功能的迭代周期,这样的好处就是企业可以在更 ...
- DCMTK:“内容映射资源”Content Mapping Resource中的各种CIDxxx和TIDxxx类的测试程序
DCMTK:"内容映射资源"Content Mapping Resource中的各种CIDxxx和TIDxxx类的测试程序 "内容映射资源"Content Ma ...
- 在资源使用状况视图中查看资源的负荷情况
只有工时类资源才会出现过度分配,因为工时类资源通常指组织内部的人力资源或者机械设备等,这些资源通常都有数量上的瓶颈,也只有工时类资源才会在[资源工作表]中设置它的最大单位和资源可用性,这就限制了它在不 ...
- unity3d android 后台运行,unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android...
易采站长站为您分析unity3d发布apk在android虚拟机中运行的详细步骤,需要的朋友可以参考下 unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android ...
- SLCP验厂辅导,发布网关是SLCP系统中用于数据托管和共享的关键角色
社会劳工整合项目( Social& Labor Convergence Project,简称"SLCP"),是由可持续服装联盟(SAC)促成,并得到了运动用品行业主要组织和 ...
- 【公开课】如何使用Arm-2D在小资源Cortex-M处理器芯片中实现图形界面?
首发极术社区 如对Arm相关技术感兴趣,欢迎私信 aijishu20加入技术微信群. 分享内容 通过介绍如何为小资源Cortex-M处理器芯片(64K Flash, 4K~32 RAM)部署Arm-2 ...
- Magento支付宝手机网站支付插件V6.0旗舰版发布,支持在微信中使用支付宝支付,订单重新支付功能!...
2019独角兽企业重金招聘Python工程师标准>>> 功能 严格按照支付宝接口文档编写代码. 支付宝异步通知机制,确保订单状态及时更新,无丢失遗漏. 订单完美对接:支付后即使关掉支 ...
- c语言运行不显示图片,为何加载烟花就换了一句,将图片加载进资源,结果运行中烟花不显示...
为何加载烟花就换了一句,将图片加载进资源,结果运行中烟花不显示 为何将图片装载在资源中编译没任何错误,程序也可基本运行,资源中的图片不工作 #include //标准的输入输出头文件 #inc ...
- 公众号内资源提供(持续更新中)--category
公众号内资源提供(持续更新中) 音乐篇 精彩微信关注:随心下呀(Suixinxia007) 酷我VIP 国际版抖音 制作抖音 酷狗VIP 音乐湖 音乐侠 全网版(网页) 酷我VIP(新) 酷我VIP( ...
最新文章
- java notify 的作用_java 为什么notify和notifyAll都不起作用?
- 第十三周项目三-形状类族中的纯虚函数
- java jsp w3c报错_JSP JavaBean
- Spring Boot和Swagger UI
- 武汉linux内核好找吗,Linux内核入门
- 【堆笔记】java堆(PriorityQueue)的相关操作
- layui + jfinal 实现上传下载
- 设计不难学,这10款软件总有一款适合你
- WIN10外接显示器有妙招
- 物联网的核心技能是什么?
- 怎么压缩gif图大小,gif压缩到微信表情
- 航班信息的查询与检索Java,航班信息的查询与检索
- EXCEL列乱序后内容重新对应
- 在virtualbox中导入.vmdk文件
- 前端项目中使用百度地图api,含实例
- matlab gain 可以是负数吗,GAMS不报错,但是得负数,怎么办?
- java窗口如何定时关闭_如何使用GreaseMonkey关闭定时弹出的窗口?
- 调用http://apistore.baidu.com网站的接口
- Android 圆圈进度
- 这就是你日日夜夜想要的docker!!!---------Docker资源控制--Cgroup