上一篇讲在Lua文件变化的时候实现自动重载。有2种方式
一、assetpostprocessor
ssetPostProcessor是一个编辑器类,一个资源导入的一个管理器,在资源导入之前和之后可以根据导入的资源做一些设置和一些数据的修改,比如网格,纹理的压缩,模型添加组件等。当资源导入之前和之后都会发送通知,可以根据不同的资源类型,在导入之前和之后做不同的处理
迈入新世界,为了成为有保持乐趣的Unity客户端
No results found
之前项目用Lua的模块很少,确实没关注是否在客户端部分实现热重载。因为项目的服务器开发是C++和Lua的组合,在配合处理开发的时候,服务器脚本实现热重载。在客户端使用Lua的模块越来越多,也有人更多的同事开始用Lua开发。为了提高开发效率,觉得还是可以花点时间在客户端实现下Lua热重载。
Lua的特点:基于寄存器的虚拟机,简洁的语法,高效的编译执行,容易嵌入的特性。Lua在国内互联网技术上的应用也占领不少市场,redis,openresty, skynet等等都能看到Lua忙碌的身影。
函数requier在表中package.loaded中检查模块是否已被加载。
最简单粗暴的热更新就是将package.loaded[modelname]的值置为nil,强制重新加载:
之前讲过在Lua中实现面向对象,今天详细聊下多重继承
可以重新定义从基类继承的任意方法。只需要编写一个新方法就行了。
Lua语言中的对象有一个有趣的特性,就是无须为了指定一种新行为而创建一个新类。
其实多重继承没什么特别的,除非两个将要被继承的类有相同的函数名和属性,否则,处理起来很简单。
最近一直没在偷懒,在收集各种开源项目中OOP的实现方案。关于其中的理解,因为给新人指导,就要求自己能够很好的理解,并讲解出来。教会也是给对于知识理解的更高阶段。
Lua语言中的标识符(或名称)是有任意字母、数字和下划线组成的字符串(注意,不能以数字开头)
Lua语言中有8种基本类型:nil(空)、boolean(布尔)、number(数值)、string(字符串)、userdata(用户数据)、function(函数)、thread(线程)和table(表)。使用函数type可获取一个值对应的类型名称