美文网首页
热更新01_基本概念 Day0815

热更新01_基本概念 Day0815

作者: 段然丶 | 来源:发表于2017-08-15 22:52 被阅读0次

C#与Lua

C#

只能在特定的操作系统中进行编译成dll文件,然后打包到安装包,从而在其他的平台运行

在移动平台上不能更新替换已有的dll文件,除非重新下载安装包

Lua

是一种轻量小巧的脚本语言,不需要编译,可以直接用

可以在所有的操作系统和平台上编译运行,可以很方便的更新代码,更新代码后,可以直接在手机上运行,不需要重新安装安装包


Ulua

一款unity插件,它能让unity支持Lua语言


1、什么是热更新?

Lua代码都是运行时才编译的,不运行的时候是文件;所以更新逻辑只需要更新脚本(文件),不需要再编译,因而Lua能轻松实现“热更新”

。游戏上线后,在运营过程中,如果需要更换UI显示,或者修改游戏的逻辑,这个时候,如果不使用热更新,就需要重新打包,然后让玩家重新下载,就会浪费流量,体验不好。

出于对游戏性能的考虑,尽量少的低频率的调用Lua,比如尽量少在Update函数中调用Lua、循环利用已经实例化过的LuaState避免浪费资源。对于那些不需要高效运算的模块,比如UI部分,就可以放心大胆的使用Lua。

热更新可以在不重新下载客户端的情况下,更新游戏内容

2、为什么C#脚本不可以直接更新?

C#运行之前需要先编译,这个过程在手机上是无法完成的,所以当我们游戏的逻辑更改时,C#代码发生改变的时候,我们就需要重新发布新版本。这对于手游来说体验是不好的。

3、热更新有哪些实现方式?

使用Lua脚本编写游戏的UI或者其他逻辑。(调用C#里面的方法来进行)

4、什么是AssetBundle?

Unity提供的一种资源更新技术,就是通过AssetBundle更新UI,也可以通过把脚本或者其他代码当成资源打包成AssetBundle然后更新到客户端。

5、如何利用Lua进行热更新?

在移动端通过ULua编写Lua解析器,通过这个解析器可以运行最新的Lua脚本,然后我们把控制游戏逻辑的代码写成Lua脚本。

相关文章

  • 热更新01_基本概念 Day0815

    C#与Lua C# 只能在特定的操作系统中进行编译成dll文件,然后打包到安装包,从而在其他的平台运行 在移动平台...

  • 热更新02_Lua语法 Day0815

    命名规范 1.脚本的后缀名是 .lua 2.单行注释 -- 3.多行注释--[[ ]]-- 4.print 是lu...

  • webpack 热更新

    模块热替换 HMR 基本概念 模块热更新 hot module replacement: 在应用程序运行过程中替换...

  • Golang 热更新研究笔记

    基本概念 1. Golang的热更新采用什么机制? 使用go1.8提供的plugin包机制实现 2. plugin...

  • 热更新

    参考文章 https://www.jianshu.com/p/2f356e3276b8

  • 热更新

    热更新技术背景 1.热更新定义,APP热更新,就是指软件不通过苹果APP Store的版本更新审核,直接可以自行更...

  • 热更新

    mono热更新 更新过程中强退导致dll损坏 问题的产生是这样的:我们的代码文件随着开发会越来越打,当更新一个 d...

  • 热更新

    需要前端把更新后的代码生成chcp.manifest 第一部: npm i -g cordova-hot-...

  • 热更新

    腾讯热更新 https://gold.xitu.io/post/584a70feac502e00691c4a07 ...

  • 热更新

    一、安装CodePush CLI 在项目根目录下,安装命令: yarn add code-push-cli 安...

网友评论

      本文标题:热更新01_基本概念 Day0815

      本文链接:https://www.haomeiwen.com/subject/sdgmrxtx.html