Cocos Creator 3.x 热更新

article/2025/8/27 8:35:03

前言:游戏做热更新 是基本需求; 好在 cocos-creator 已经为我们做好了方案,相对于 U3D 的热更新方案来说,使用起来很简便!,不用关注很多细节

本文使用的是 cocos-creator 3.5.2 版本 

 

官方文档 :热更新范例教程 · Cocos Creatorhttps://docs.cocos.com/creator/3.5/manual/zh/advanced-topics/hot-update.html

官方demo:mirrors_cocos-creator/tutorial-hot-update - Gitee.comhttps://gitee.com/mirrors_cocos-creator/tutorial-hot-update/tree/master

extensions  文件夹中的脚本:主要用于 在构建完毕 之后,  在对应构建的的  build 子目录中的 main.js 中添加  资源路径逻辑,也就是定位到你更新的资源路径中

  

其实就是一个立即执行函数,把 引用的路径添加进去

  version_generator.js  脚本是用于 对你构建的资源 进行 哈希签名,最终生成   project.manifestversion.manifest 文件,用于 资源比对是否进行下载更新,

project.manifest  内容大致如下:记录资源文件的 哈希值 文件大小,以及文件清单

  version.manifest  文件主要作用就是 记录当前资源的版本信息  1.0.3

当 App 端需要检查更新的时候 ,会比对 服务端和本地 version.manifest 文件,如果版本一致则会跳过,否则  比对服务器  project.manifest  和 本地 project.mainfest 找到需要下载的文件。➤ ➤ ➤ ➤ 

>>>>>>> 没有更新过的话,  会找到  添加到工程路径 assets 目录下的 version.manifest 和 project.mainfest 文件,所以我们会在 项目 assets 路径中添加  project.manifest  和 version.manifest 文件 ; 否则第一次更新时候无法找到本地 与服务器对文做 对比,  就会出错!!

这里基本讲解完毕 各类文件以及脚本的作用,下我我们来直接上手;

➥构建项目发布App

目标:构建一个母包,用于后面热更新资源

页面:

发布页面修改一下报名,其余默认就可以,点击构建

 在项目根目录中 运行:version_generator 文件

 

node version_generator.js -v 1.0.0 -u http://192.168.10.88:8080/remote-assets/ -s build/android\assets -d remote-assets/
  •  -v 指定资源版本
  •  -u 设置你的服务器 资源路径
  •  -s 指定你 构建项目生成的资源文件路径,(对资源生成清单
  •  -d 生成 project.manifest 和 version.manifest 的文件路径,我们暂且放在项目根目录的  remote-assets 目录中;

  

运行完毕之后:remote-assets 文件夹中会多出 两个文件;

 因为是打 母包我们要把这两个文件 拷贝到 项目根目录的 assets 路径中。(替换掉Demo 中自带这两个文件,这两个文件我们不能用 配置信息不对

备注: 因为刚刚构建的项目中  project.manifest   version.manifest 文件不对(demo项目中文件服务器地址)或者没有(新建项目中没有);我们需要再次 构建包含 project.manifest   version.manifest  build 文件的资源;

Android Studio 跑起来我们构建的 Android项目!!

这里补充一点:因为我实在局域网测试的,使用的是 http请求;Android 7.0 以后需要额外配置才能继续访问;

我们的手机已经跑起来了:

➥修改页面,制作需要更新的资源

Ⅰ:  我们给 UI添加一个动画

重新构建项目:

Ⅲ 构建完成后,重新生成  project.manifestversion.manifest,* 版本号 加一,否则,还会以前版本

node version_generator.js -v 1.0.1 -u http://192.168.10.88:8080/remote-assets/ -s build/android\assets -d remote-assets/

我们在桌面(位置随意 不要项目根目录就可以)新建一个名称为文件夹 remote-assets 的文件夹;将刚刚生成的   project.manifestversion.manifest; 和 构建项目资源路径的  assets 所有文件 拷贝其中:放到服务器中。

大致如下:

 然后用 容器 跑起来;nginx iis  都可以,我这里使用的是: live-server;  在浏览器中访问到就成功

 

* 这个时候不要再次运行  Android Studio;再次运行的话,App就会加载到最新的资源;我们直接打开APP

➥运行App,更新资源

这个时候不要再次运行  Android Studio;再次运行的话,App就会加载到最新的资源;

我们直接打开APP:

 

更新完资源,重新启动之后 新加的动画已经在播放了! 大功告成!


http://chatgpt.dhexx.cn/article/gkAOtyfE.shtml

相关文章

热更新原理及实践注意

首先要说明几个概念,不要混用,热部署,热加载; 热部署:就是已经运行了项目,更改之后,不需要重新tomcat,但是会清空内存,重新打包,重新解压war包运行,可能好处是一个tomcat多个项目,不必因为tomcat停止而停止…

热更新你都知道哪些?

热更新系列目录 热更新你都知道哪些?热更新Sophix的爬坑之路腾讯热更新Tinker的故事阿里热更新Sophix的故事 Android热更新 前言1. 什么是热更新?2. 主流热更新方案3. 腾讯系热更新4. 阿里系热更新总结 博客创建时间:2020.05.16 博客更新时间…

热更新技术简易原理及技术推荐

为了照顾萌新童鞋,最开始还是对热更新的概念做一个通俗易懂的介绍。 热更新用通俗的讲就是软件不通过应用商店的软件版本更新审核,直接通过应用自行下载的软件数据更新的行为。在用户下载安装App之后,打开App时遇到的即时更新,是…

热更新及其原理

热更新:是app常用的更新方式,只需下载安装更新部分的代码 工作原理:动态下开发代码,使开发者在不发布新版本的情况下修复bug和发布功能,绕开苹果审核机制,避免长时间的审核以及多次被拒绝造成的成本。 优…

HTML/CSS实现小米官网搜索框效果

效果图: 需求分析: 1、输入框焦点事件 onfocus:成为焦点, 点击输入框的时候,出现闪烁光标,此时可以输入内容。 onblur :失去焦点, 点击页面空白区域,光标消失。此时不可以输入内容。 2、获取元素 3、注册事件 2.1…

html中的搜索代码,Web自动化(3):网页自动搜索功能

unsplash.jpg 写在前面 如果我们需要在期刊中搜索我们想要找的文章,那么我们如何才能达到这个目的。我们首先看一下,手动和自动对比图: 网页搜索.png 其实内容全部一样,我们只是用自动化程序,来代替我们手动操作。 1. 创建webdriver驱动对象,驱动打开网页 # 导入包 from …

java搜索代码_Java实现搜索功能代码详解

首先,我们要清楚搜索框中根据关键字进行条件搜索发送的是get请求,并且是向当前页面发送get请求 //示例代码 请求路径为当前页面路径 "/product" 当我们要实现多条件搜索功能时,可以将搜索条件封装为一个map集合,再根据m…

干货!最全优秀搜索框设计案例(含代码链接)

面对纷繁复杂的网页内容,用户通过查询关键词表达需求,期望在响应的查询结果中快速获取准确的信息和流畅的用户体验。用户与网络世界的万千联系都是从搜索开始的。搜索框之于用户就像是用户与应用或网站之间的对话窗口。小小的搜索框传递着用户与网站、应…

php网页制作中搜索框的代码,在网页里嵌入百度搜索框功能

今天发现某个网站是直接使用百度搜索作为自己网站的搜索功能的,感觉这个挺好玩的,不需要去研究复杂的搜索算法而又直接使用了百度搜索这个强大的搜索引擎为自己撑腰。无论对自己还是对用户来说都是相当不错的选择,下面作者将要和大家分享一下…

利用CSS写精美搜索框

利用html写搜索样式框 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>8款纯CSS3搜索框</title&g…

JavaScript实现智能搜索框

应用场景&#xff1a; 1. 搜索框在页面中占据的空间过小&#xff0c;希望无论浏览到什么位置&#xff0c;可以轻易地回到并聚焦搜索框。 2. 搜索框里面的文字大小过小&#xff0c;希望能够在上方开辟一块空间放大内容 解决思路&#xff1a; 1. 对整个页面添加键盘事件keyup…

html中搜索栏怎么写,html搜索框怎么做

很多:从记忆角度讲运用(谐音记忆法,联想法) 平常来说呢,可分为(死记硬背发,音标记忆法) 另外:自己创造 总结【谐音记忆法,死记硬背发,音标记忆法】 html/css如何写出如下搜索框效果&#xff0c;请给出代码 html制作一个搜索框&#xff0c;代码是什么&#xff1f; 打开Hbuilder编…

搜索导航HTML,CSS 带搜索导航栏的示例代码

本文为大家介绍如何使用 CSS 创建一个带搜索的导航栏。 以下实例均是响应式的。 可以先看下效果图: 创建一个搜索栏 主页 关于 联系我们 /* 在顶部导航栏中添加黑色背景颜色 */ .topnav {overflow: hidden; background-color: #e9e9e9; } /* 设置导航栏的链接样式 */ .topnav …

淘宝网搜索框源代码

搜索框代码&#xff1a; <script typetext/javascript> alimama_pidmm_11487878_0_0; alimama_typeg; alimama_tks{}; alimama_tks.style_i1; alimama_tks.lg_i1; alimama_tks.w_i350; alimama_tks.h_i69; alimama_tks.btn_i1; alimama_tks.txt_s; alimama_tks.hot_i1; a…

百度搜索框代码,实现回车点击,跳转到新页面,简单

参考网站&#xff1a;https://110.nanshiw.com/ 上图为实现效果 代码如下&#xff1a; <script> function butClick() {var val document.getElementById("search_key").value;if(val.length 0){alert(搜索为空&#xff0c;请输入内容);return false;}else…

智能搜索框html代码,js实现搜索框关键字智能匹配代码

只要使用搜索引擎的朋友应该都有这样的体会&#xff0c;就是当在搜索框输入关键字的时候&#xff0c;会出现自能匹配现象&#xff0c;这绝对是非常好的用户体验&#xff0c;下面就是一段类似的代码&#xff0c;当然这里只是掩饰&#xff0c;所以只能匹配的数据都是本地固定好的…

html5搜索框在最右侧,html5搜索框特效点击搜索框弹出分类搜索框代码

特效描述:html5搜索框特效 点击搜索框弹出 分类搜索框。点击搜索框弹出分类搜索框代码 代码结构 1. 引入CSS 2. 引入JS 3. HTML代码 Search People Sara Soueidan Rachel Smith Peter Finlan Patrick Cox

网页添加百度搜索框代码大全

★ 用法&#xff1a;在下面选择合适的样式&#xff0c;复制代码到网页中相应位置粘贴即可。 ★ 样式一&#xff08;20030&#xff09; 代码&#xff1a; <iframe id"baiduframe" marginwidth"0" marginheight"0" scrolling"no" fr…

【项目】实现网页搜索框功能

一、实现搜索框的部分代码 【注&#xff1a;涉及api接口和中后台数据交互】 1. 最终呈现形式&#xff1a; 2. 代码实现&#xff1a; HTML文件中&#xff1a; <!-- 搜索框部分 --><div class"search-bar" fxFlexAlign"center" style" ma…

FLOWABLE流程引擎分析

flowable流程引擎分析 历史: flowable工作流引擎是从jboss的jbpm->alfresco的activiti->flowable 逐步演化过来的, 核心开发人员是同一个团队. 都是因为与原公司的设计理念存在分歧,导致两次出走. flowable自16年fork之后,已经成为一个活跃的社区,逐步赢得的许多工作流引…