新建一个工程hotUpdate

在资源管理器中添加如下文件夹与场景
在官网链接中获取示例脚本
在hotUpdate中复制官网代码改成如下代码,这里我删除了customManifestStr 及其引用,同时有改动的地方用//*标记了
var UpdatePanel = require('../UI/UpdatePanel');
cc.Class({
extends: cc.Component,
properties: {
panel: UpdatePanel,
manifestUrl: {
type: cc.Asset,
default: null
},
updateUI: cc.Node,
_updating: false,
_canRetry: false,
_storagePath: ''
},
onClick(event, data) {
//*
if (data == "sure") {
this.hotUpdate();
this.updateUI.active = false
}
else if (data == "cancel") {
cc.director.end();
}
},
checkCb: function (event) {
cc.log('Code: ' + event.getEventCode());
let isUpdate = false; //*
switch (event.getEventCode()) {
case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST:
this.panel.info.string = "未找到本地清单文件,已跳过热更新.";
break;
case jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST:
case jsb.EventAssetsManager.ERROR_PARSE_MANIFEST:
this.panel.info.string = "无法下载清单文件,已跳过热更新.";
break;
case jsb.EventAssetsManager.ALREADY_UP_TO_DATE:
this.panel.info.string = "已经是最新远程版本的最新版本.";
cc.director.loadScene("main") //*
break;
case jsb.EventAssetsManager.NEW_VERSION_FOUND:
this.panel.info.string = '找到新版本,请尝试更新.';
isUpdate = true //*
// this.panel.checkBtn.active = false;
this.panel.fileProgress.progress = 0;
this.panel.byteProgress.progress = 0;
break;
default:
return;
}
this._am.setEventCallback(null);
this._checkListener = null;
this._updating = false;
if (isUpdate) {
//*
this.updateUI.active = true;
}
},
updateCb: function (event) {
var needRestart = false;
var failed = false;
switch (event.getEventCode()) {
case jsb.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST:
this.panel.info.string = 'No local man

本文档详述了如何在Cocos Creator中接入热更新功能。首先新建hotUpdate工程,添加必要文件和场景,并从官网获取示例脚本进行修改。接着在UpdatePanel脚本中添加属性,创建UI界面展示更新进度。通过安装热更新插件,构建并发布项目。使用express作为服务器框架,部署更新文件。最后,展示了更新流程和结果,说明热更新已成功实现。
最低0.47元/天 解锁文章
1万+





