zoukankan      html  css  js  c++  java
  • (4)基本工作流(导出数据)

      当使用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。用户可能选择自己需要的格式进行导出,如果有特殊的需求,可以自定制导出,相应的读取部分也需要自己实现。只需要实现 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的关注和支持,我们将回报您以更好用的产品。

  • 相关阅读:
    买房的贷款时间是否是越长越好?https://www.zhihu.com/question/20842791
    asp.net cookie and session
    leelazero and google colab
    download file by python in google colab
    physical processor, core, logical processor
    通过powershell操作eventlog
    openxml in sql server
    get the page name from url
    How to Execute Page_Load() in Page's Base Class?
    Difference between HttpContext.Request and Request
  • 原文地址:https://www.cnblogs.com/damowang/p/5179889.html
Copyright © 2011-2022 走看看