CocosCreator命令行发布游戏资源

前言

作为初学者,Cocos开发过程中发布游戏都是通过界面右上角"构建发布"按钮去做发布的,但是发布的配置无法存储在项目版本管理中,多人开发的时候就需要重新设置发布,所以研究了下,官方是支持使用命令行发布的,这样就只需要在代码编辑的IDE就可以实现发布游戏了。

官方文档的说明:Cocos Creator 3.0 手册 -- 命令行发布项目

步骤

命令行发布分为下面的步骤:

  • 创建发布的配置文件
  • 创建发布脚本
  • 简化发布脚本(可选但推荐)

1、创建发布的配置文件

我们在项目的根目录创建一个名为 cc.config.json 的配置文件,名称不一定是这个,可以按照自己的习惯去定义。配置内容可以参考官方文档去自己编写,也可以是在CocosCreator发布面板中导出的。

文件的大概内容如下:

json 复制代码
{
  "name": "<your game name>",
  "server": "",
  "platform": "web-desktop",
  "buildPath": "project://build",
  "debug": false,
  "md5Cache": false,
  "skipCompressTexture": false,
  "sourceMaps": false,
  "polyfills": {
    "asyncFunctions": true
  },
  "experimentalEraseModules": false,
  "startSceneAssetBundle": false,
  "bundleConfigs": [],
  "useBuiltinServer": false,
  "mainBundleIsRemote": false,
  "mainBundleCompressionType": "merge_dep",
  "useSplashScreen": true,
  "bundleCommonChunk": false,
  "packAutoAtlas": true,
  "startScene": "30304cdc-0ee6-41dd-a8f3-cfceae8ce43c",
  "outputName": "game",
  "taskName": "web-desktop",
  "scenes": [
    {
      "url": "db://assets/Scenes/main.scene",
      "uuid": "30304cdc-0ee6-41dd-a8f3-cfceae8ce43c"
    }
  ],
  "packages": {
    "web-desktop": {
      "useWebGPU": false,
      "resolution": {
        "designWidth": 750,
        "designHeight": 1334
      },
      "cullEngineAsmJsModule": false,
      "__version__": "1.0.1"
    },
    "engine": {
      "cleanupImageCache": "inheritProjectSetting",
      "__version__": "1.0.7"
    },
    "cocos-service": {
      "configID": "ff64b2",
      "services": [],
      "__version__": "3.0.7"
    }
  },
  "__version__": "1.3.6",
  "buildMode": "normal",
  "logDest": "project://temp/builder/log/web-desktop8-10-2023 14-53.log"
}

2、创建发布脚本

完成了配置文件的编写,接下来我们在项目的package.json中添加build脚本,后续直接执行 npm run build 就可以发布了。

下面是以Mac下CocosDashboard安装的CocosCreator3.8.0为例,不同的版本可执行文件可能不同。

arduino 复制代码
{
    "scripts": {
        "build": "/Applications/Cocos/Creator/3.8.0/CocosCreator.app/Contents/MacOS/CocosCreator --project . --build "configPath=./cc.config.json""
    }
}

参数说明:

  • project:项目文件夹,这个必传,写一个点代表是当前目录
  • build:build参数,后面传递了我们自定义的配置文件名称,即项目文件夹下的cc.config.json文件

3、简化发布脚本(可选但推荐)

观察我们现有的build脚本,CocosCreator使用的是绝对路径,如果其他开发者的路径不在这里,就需要在本地修改,那我们是否可以直接忽略路径,直接使用 CocosCreator 命令直接发布呢,脚本示例如下:

arduino 复制代码
{
    "scripts": {
      "build": "CocosCreator --project . --build "configPath=./cc.config.json""
    }
}

其他开发者只要在系统中能访问CocosCreator命令即可,默认情况,我们在命令行直接运行 CocosCreator 会提示命令不存在的。

也有解决方案:在Linux/Mac平台上可以使用软连接方式,将CocosCreator命令直接连接到PATH环境变量能覆盖的目录即可,下面的例子就是将CocosCreator软连接到/usr/local/bin/CocosCreator;

bash 复制代码
sudo ln -s /Applications/Cocos/Creator/3.8.0/CocosCreator.app/Contents/MacOS/CocosCreator /usr/local/bin/CocosCreator

注意,第一个参数我们要使用绝对路径去链接,否则调用的时候会提示

makefile 复制代码
zsh: too many levels of symbolic links: CocosCreator

以上我们便完成了命令行构建的全部过程。

后记

既然可以在命令行发布,那我们的发布是否也可以迁移到CI上呢,让服务器去帮我们发布,实现自动化呢,当然是可以了。

相关推荐
VaJoy13 天前
Cocos Creator Shader 入门 ⑺ —— 图层混合样式的实现与 Render Texture
cocos creator
VaJoy15 天前
Cocos Creator Shader 入门 ⑹ —— 灰阶、反色等滤镜的实现
cocos creator
VaJoy17 天前
Cocos Creator Shader 入门 ⑸ —— 代码复用与绿幕抠图技术
cocos creator
VaJoy19 天前
Cocos Creator Shader 入门 ⑷ —— 纹理采样与受击闪白的实现
cocos creator
VaJoy20 天前
Cocos Creator Shader 入门 ⑶ —— 给节点设置透明度
cocos creator
VaJoy22 天前
Cocos Creator Shader 入门 (2) —— 给节点染色
cocos creator
VaJoy23 天前
Cocos Creator Shader —— 附录
cocos creator
成长ing1213824 天前
多层背景视差滚动Parallax Scrolling
cocos creator
似水流年wxk1 个月前
cocos creator使用jenkins打包微信小游戏,自动上传资源到cdn,windows版运行jenkins
运维·jenkins·cocos creator
成长ing121383 个月前
点击音效系统
前端·cocos creator