zoukankan      html  css  js  c++  java
  • 热更新

    1. 本地有一个热更新下载文件的js,它的作用的检测更新, 执行更新。重试等。检测更新时,会对比本地的project.manifest和线上的, 如果需要更新,那么就会可以执行更新。

    测试步骤。

    》》》》 一 生成安装包。

    1.构建本地资源。(重新生成 build/jsb-link/asserts, src等文件) 构建时请不要勾选 MD5 Cache,否则会导致热更新无效。

    2.本地用version_generator.js 生成 project.mannifest, 并绑定到脚本, (因为version_generator.js会对所有的build/jsb-link/asserts, src等文件做md5,并放到 project.manifest里)。

    3. 重新构建(因为第二步project.manifest重新生成了,需要重新加载到bulid下的资源里。),

    4. 修改main.js。 

    这一步是必须要做的原因是,热更新的本质是用远程下载的文件取代原始游戏包中的文件。Cocos2d-x 的搜索路径恰好满足这个需求,它可以用来指定远程包的下载地址作为默认的搜索路径,这样游戏运行过程中就会使用下载好的远程版本。另外,这里搜索路径是在上一次更新的过程中使用 cc.sys.localStorage(它符合 WEB 标准的 Local Storage API)固化保存在用户机器上,HotUpdateSearchPaths 这个键值是在 HotUpdate.js 中指定的,保存和读取过程使用的名字必须匹配。

    此外,打开工程过程中如果遇到这个警告可以忽略:loader for [.manifest] not exists!

    5.编译。

    》》》》 二 生成热更内容。

    现在项目需求有变动需要热更了。

    1. 构建。

    2. 生成project.manifest.

    3. 把构建好的5个东西,和project.manifest. version.manifest到到web服务器上来提供热更新。

    》》》》 三 ,搭建web服务器,提供热更服务器。

    1.找一个Linux服务器,安装node, 然后。新建目录:

    hotUpdate_demo/hotUpdate/remote-assets

    把 上面7个东西放到目录下。

    脚本是:

    var express = require('express')
    
    var path = require('path')
    
    var app = express();
    
    app.use(express.static(path.join(__dirname,'hotUpdate')));
    
    app.listen(80);
    

      

    执行 node app.js

    然后就可以运行安装软件来测试热更新了。

  • 相关阅读:
    PHP 截取字符串专题
    PHP获取文件扩展名的三种方法
    PHP万能密码登陆
    js正则表达式 验证手机号,email地址和邮政编码
    图片局部链接实例,方便自己用!
    通用客户端表单验证函数修正版
    C#事件的知识,转载学习
    C# byte及char FileStream 与StreamReader的区别(转)
    .Net下二进制形式的文件(图片)的存储与读取(转载)
    高斯克吕格坐标系中国部分定义(北京五四和西安80)(转,准确性使用性不敢保证)
  • 原文地址:https://www.cnblogs.com/gongzhuiau/p/15339922.html
Copyright © 2011-2022 走看看