CocosCreator3.8如何自定义构建模版?

点击上方亿元程序员+关注和星标

引言

CocosCreator3.8如何自定义构建模版?

大家好,通常我们在Cocos游戏开发中,游戏开发完成后,我们需要打包到各个平台去,构建不同平台的工程以备测试和上线。

有一些内容需要我们构建完成工程以后,才能够在构建好的工程里面进行接入。

例如接入阿里云的EMAS Serverless开放数据域等等。

但是我们在每次构建的时候,工程都会重新生成或者覆盖,导致我们接入的代码丢失,因此我们有没有办法解决这个问题呢?

本文重点介绍一下CocosCreator3.8如何自定义构建模版,如果对您或者其他人有帮助,建议转发、收藏、点赞和在看

1.什么是自定义构建模版?

自定义构建模板是一种在软件开发中常见的概念,它指的是开发者根据自己的需求和项目特点创建的一套模板,用于生成项目的初始结构或特定部分的代码。

2.自定义构建模版有什么用?

如引言所说,由于项目在导出、发布工程的时候,会重新清空目标工程之后重新生成,或者直接覆盖。

这样会导致我们一些在导出项目之后进行对接或者修改的内容丢失,因此自定义构建模板就是解决这样一个问题。

3.CocosCreator中的自定义构建模版

Cocos Creator 支持对每个项目分别定制构建模板,只需要在项目路径下添加一个 build-templates 目录,里面按照 平台扩展名称 划分子目录。

在构建结束后build-templates/[platform] 目录下所有的文件都会自动按照对应的目录结构 复制 到对应平台构建生成的工程中,这个功能是全平台支持的。

目录结构(web平台)示例如下:

4.CocosCreator3.8自定义构建模版实例

我们想要在CocosCreator3.8中自定义构建模版可以通过菜单栏项目->创建项目构建模板->目标平台

也可以直接在项目根目录创建目录build-templates->目标平台进行自定义。

下面通过2个例子进行实践:

1.接入阿里云的EMAS Serverless

EMAS Serverless 是阿里云提供的基于Serverless技术的一站式后端开发平台,为开发者提供高可用、弹性伸缩的云开发服务,包含云函数、云数据库、云存储、静态网站托管等功能,帮助开发者及企业客户快速实现一云多端应用的搭建,您无需管理服务器等基础设施,便可以无缝对接丰富的云资源。

它是一个轻量级的云服务器,是小游戏开发中数据存储、世界排行榜开发的一个非常好的选择,可在下面的链接进行了解。

https://www.aliyun.com/activity/emas/serverless?source=5176.11533457&userCode=vikbv929

有接入过的小伙伴都知道,想要在微信小游戏中使用EMAS Serverless,首先我们要先通过npm install @alicloud/mpserverless-sdk 安装。

然后game.js文件里面进行构建实例对象,如下:

由于每次重新打包微信小游戏都是重新创建,我们安装的sdkgame.js里面的修改都会被删掉,因此我们把需要保留覆盖的内容复制到模板里面。

2.接入开放数据域

目前,微信、百度 和 抖音 小游戏这些平台为了保护其社交关系链数据,增加了 开放数据域 的概念,这是一个单独的游戏执行环境。

开放数据域中的资源、引擎、程序,都和主游戏(主域)完全隔离,开发者只有在开放数据域中才能通过平台提供的开放接口来访问关系链数据,用于实现一些例如排行榜的功能。

同理我们在CocosCreator3.8可以选择生成我们需要的开放域工程模板。

同样的我们把它放进去build-templates

通过上面2个例子,无论我们如何进行发布和打包,特定的内容都是以我们在build-templates目录里的内容为准了。

结语

今天的分享到这里,如果对您或者其他人有帮助,建议转发、收藏、点赞和在看

评论区已开通,欢迎留下您宝贵的意见哦!

更多实用源码可通过阅读原文搜索"亿元程序员"获取。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《填色之旅》《方块掌机经典》《贪吃蛇掌机经典》《重力迷宫球》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

知识付费专栏

你知道和不知道的微信小游戏常用API整理,赶紧收藏用起来~

100个Cocos实例

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列


这是一个从 https://juejin.cn/post/7368662916151574567 下的原始话题分离的讨论话题