(4)基本工作流(导出数据)
2016-02-03 15:59
239 查看
当使用Cocos Studio编辑好资源后,我们想在引擎里面使用,还需要发布。因为在Cocos Studio项目文件使用xml数据格式来进行存储,同时会保存一些仅编辑器需要的额外数据,如果用户使用Cocos2d-x和Cocos2d-js直接加载项目文件,会发现项目文件不仅大而且加载速度慢,所以我们需要一个发布,在发布过程中编辑器会去掉项目文件中一些多余的信息,同时把xml格式转换为flatbuffers和json格式,这两种格式在C++、lua和JS语言中使用是容量最小,速度最快,接下来给大家讲解如何发布资源:
1)打开我们的HelloCocos,选择发布按钮“
”,点击发布,资源就发布出去了。
2)点击“发布与打包。。。
”,会弹出发布与打包界面,如下图:
3)发布资源:执行发布资源过程。
发布为Visual Studio工程:仅Windows上,先执行发布资源过程,然后使用Visual Studio打开项目。
发布为Xcode工程:仅Mac上,先执行发布资源过程,然后使用Xcode打开项目。
4)点击设置,弹出“菜单:项目->项目设置。。。”界面,如下图:
5)发布内容:
1、发布资源与项目文件:把编辑所用的资源拷贝到发布路径以及把csd,csi文件发布为Cocos2d-x所使用的资源。注意:当资源较多的时候,拷贝速度比较慢,建议使用仅发布项目文件。
2、仅发布项目文件:仅把csd,csi文件发布为Cocos 2d-x所使用的资源。
发布路径:可以自定义资源的发布路径,支持绝对与相对路径。
数据格式:
1、csb:使用Flatbuffers输出二进制,解析效率高,体积小,安全性能好,适用于c++与lua项目。
2、Json:轻量级的数据交换格式,可读性强,JavaScript原生支持,适用于js项目。
3、Lua:可读性强,适用于Cocos2d-x Luabinding项目。
4、自定义:参考 如下
1.自定义数据导出格式
Cocos Studio默认支持三种导出格式:CSB、Json、Lua。用户可能选择自己需要的格式进行导出,如果有特殊的需求,可以自定制导出,相应的读取部分也需要自己实现。只需要实现
其它部分请参见示例工程。
目前用户可以实现将CSD文件(即:Cocos Studio的工程文件)转化为自己需要的格式。
2.其它
在后续的开发过程中文档的内容会根据反馈持续更新。如有更新,请以新的版本为准。
如果您对于Cocos Studio扩展有任何的意见或者是建议,请在论坛或者是开发者群里反馈给我们。感谢您对Cocos Studio的关注和支持,我们将回报您以更好用的产品。
1)打开我们的HelloCocos,选择发布按钮“
”,点击发布,资源就发布出去了。
2)点击“发布与打包。。。
”,会弹出发布与打包界面,如下图:
3)发布资源:执行发布资源过程。
发布为Visual Studio工程:仅Windows上,先执行发布资源过程,然后使用Visual Studio打开项目。
发布为Xcode工程:仅Mac上,先执行发布资源过程,然后使用Xcode打开项目。
4)点击设置,弹出“菜单:项目->项目设置。。。”界面,如下图:
5)发布内容:
1、发布资源与项目文件:把编辑所用的资源拷贝到发布路径以及把csd,csi文件发布为Cocos2d-x所使用的资源。注意:当资源较多的时候,拷贝速度比较慢,建议使用仅发布项目文件。
2、仅发布项目文件:仅把csd,csi文件发布为Cocos 2d-x所使用的资源。
发布路径:可以自定义资源的发布路径,支持绝对与相对路径。
数据格式:
1、csb:使用Flatbuffers输出二进制,解析效率高,体积小,安全性能好,适用于c++与lua项目。
2、Json:轻量级的数据交换格式,可读性强,JavaScript原生支持,适用于js项目。
3、Lua:可读性强,适用于Cocos2d-x Luabinding项目。
4、自定义:参考 如下
1.自定义数据导出格式
Cocos Studio默认支持三种导出格式:CSB、Json、Lua。用户可能选择自己需要的格式进行导出,如果有特殊的需求,可以自定制导出,相应的读取部分也需要自己实现。只需要实现
Cocos Studio.Projects.IGameProjectSerializer接口(在 Cocos v2.3.3 版本之后为
Cocos Studio.Projects.IGameFileSerializer, 请以实际代码为准。参见示例工程中的
PublishExtend目录里的
CustomSerializer类)。接口的定义如下:
[TypeExtensionPoint] // 在 Cocos v2.3.3 版本之后为 IGameFileSerializer public interface IGameProjectSerializer { /// <summary> /// 序列化器ID /// </summary> string ID { get; } /// <summary> /// 对外显示的名称 /// </summary> string Label { get; } /// <summary> /// 执行序列化 /// </summary> /// <param name="info">发布设置信息</param> /// <param name="projFile">项目文件, 在 Cocos v2.3.3 之后该参数为 GameFile gameFile</param> /// <returns>错误信息(正常结束时为空)</returns> string Serialize(PublishInfo info, IProjectFile projFile); /// <summary> /// 执行上下文初始化操作。 /// 一个 Studio 解决方案只会调用一次,在第一次 Serialize 调用之前会被调用。 /// 注:每个 *.csd 文件会调用一次 Serialize. /// </summary> void ContextInitialize(PublishInfo publishInfo); /// <summary> /// 执行上下文结束操作。 /// 一个 Studio 解决方案只会调用一次,在最后一次 Serialize 调用之后会被调用。 /// 注:每个 *.csd 文件会调用一次 Serialize. /// </summary> void ContextFinalize(PublishInfo publishInfo); }
其它部分请参见示例工程。
目前用户可以实现将CSD文件(即:Cocos Studio的工程文件)转化为自己需要的格式。
2.其它
在后续的开发过程中文档的内容会根据反馈持续更新。如有更新,请以新的版本为准。
如果您对于Cocos Studio扩展有任何的意见或者是建议,请在论坛或者是开发者群里反馈给我们。感谢您对Cocos Studio的关注和支持,我们将回报您以更好用的产品。
相关文章推荐
- Winxp系统看电影时会自动进入黑屏怎么办? xp系统看电影会自动进入黑屏的解决方法
- vxWorks的ld()和loadModule()的区别?
- 蓝懿IOS视频播放器
- ionic中 .col : 默认的定宽列
- oschina @ git git面输入账号密码命令
- STS导入已有工程/STS更换工作区间/STS中加jdk的lib
- 解决sitescope发邮件乱码问题
- 多git账户设置
- CXF处理形参,返回值类型
- #Xcode#常用插件
- spring4.2 定时任务
- Java设计模式编程之工厂方法模式的使用
- Android fragment解析2
- 区分连接是mongod 还是mongos 的方式 或者副本集
- iOS 创建静态库(.a)
- Android Studio的初步学习
- java.lang.NoClassDefFoundError: com/google/common/reflect/Invokable
- Ajax 设置Access-Control-Allow-Origin实现跨域访问
- iOS中xcode的调试技巧(打印UI层次、po)
- Android HandlerThread使用总结