lua面试题:热更新简介、原理及示例
来源:互联网 发布:51单片机怎么烧程序 编辑:程序博客网 时间:2024/05/16 03:12
1、什么是热更新?
热更新也叫不停机更新,是在游戏服务器运行期间对游戏进行更新。实现不停机修正bug、修改游戏数据等操作。也可以这样讲:一辆车以时速150km跑着,突然爆胎了,然后司机告诉你,我不停车,你去把轮胎换了,小心点。恩
2、热更新原理
第一种:
lua中的require会阻止多次加载相同的模块。所以当需要更新系统的时候,要卸载掉响应的模块。(把package.loaded里对应模块名下设置为nil,以保证下次require重新加载)并把全局表中的对应的模块表置 nil 。同时把数据记录在专用的全局表下,并用 local 去引用它。初始化这些数据的时候,首先应该检查他们是否被初始化过了。这样来保证数据不被更新过程重置。
代码示例:
这种做法简单粗暴,虽然能完成热更新,但是问题很多,旧的引用的模块无法得到更新,这种程度的热更新显然不能满足现在的游戏开发需求。
第二种:
0 0
- lua面试题:热更新简介、原理及示例
- lua面试题:热更新简介、原理及示例
- Lua热更新原理及示例
- [Unity 热更新]tolua原理及实践
- lua代码热更新
- lua 热更新
- lua 热更新
- lua 热更新
- lua 热更新
- cocos2dx lua 热更新
- lua 热更新
- 热更新lua语法
- cocos2dx lua 热更新
- cocos2dx lua 热更新
- Lua脚本热更新
- Lua热更新(hotfix)
- cocos2dx lua 热更新
- lua - 热更新模块
- 图书管理系统(C语言)
- idea 下部署web项目遇到问题总结
- Spring autowiring自动装配
- Thinking in Java 4th
- Java中的多线程(一)关于线程的基本操作
- lua面试题:热更新简介、原理及示例
- NIO中注册channel注册多个感兴趣事件-位运算符“或”的使用
- Java设计模式之工厂模式(利用反射实现)
- C++ 笔试题简单练习----求N 以内质数 和 计算多少对质数等于N
- 【unity3d-C#学习笔记】C#中常用的数据结构及遍历方法
- Linux环境下安装python3
- 虚拟机实现代码
- 表达式计算——by Java
- 简单的GCC语法: 弄清gcc test.c 与 gcc -c test.c 的差别