![](https://img-blog.csdnimg.cn/20190918140037908.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Unity--热更新
热更新相关, Lua, AB包
Go_Accepted
这个作者很懒,什么都没留下…
展开
-
Lua-- 垃圾回收
print("******* Collect Garbage *******")-- 垃圾回收关键字-- collectgarbagetest = {id = 1, name = "12324"}-- 获取当前lua占用内存数,返回值单位 kbprint(collectgarbage("count"))-- Lua 中的机制和C#中的垃圾回收机制类似,当解除关系后,变为垃圾-- 进行 GC 节省内存test = nil-- 进行垃圾回收,理解有点像C#的GCcollectgarba.原创 2022-04-17 16:50:06 · 489 阅读 · 0 评论 -
Lua-- 自带库
print("******* Library *******")-- Lua 的自带库-- 仅提供 API, 部分参数使用的时候自查print("******* Time *******")-- 系统时间print(os.time())-- 自己传入参数得到相应的系统时间print(os.time({year = 2014, month = 8, day = 14}))-- os.date("*t")local nowTime = os.date("*t") -- 得到的是一个表.原创 2022-04-17 16:49:33 · 402 阅读 · 0 评论 -
Lua-- 面向对象
print("******* OO *******")-- 面向对象-- print("******* 封装 *******")-- 所有面向对象、类,其实都是基于 table 来实现-- 以及 元表相关知识点Object = {}Object.id = 1 -- 类似与c#的静态方法function Object:Test() print(self.id)end-- 实现一个实例化方法-- 冒号 是会自动将调用这个函数的对象作为第一个参数传入的写法funct.原创 2022-04-17 16:48:13 · 358 阅读 · 0 评论 -
Lua-- 元表
print("******* Metatable *******")-- print("******* 元表概念 *******")-- 任何表变量都可以作为另一个表变量的元表-- 任何表变量都可以有自己的元表(父表)-- 当我们的子表中进行一些特定操作时-- 会执行元表中的内容-- print("******* 设置元表 *******")meta = {}myTable = {}-- 设置元表函数-- 第一个参数:子表-- 第二个参数:元表setmetatable(myTabl.原创 2022-04-17 16:47:43 · 701 阅读 · 0 评论 -
Lua-- 协程
print("******* Coroutine *******")-- 协程:协同程序-- print("******* 协程的创建 *******")-- 常用方式:coroutine.create() —— 返回线程对象fun = function () print("123")endco = coroutine.create(fun)--[[ 等效于co = coroutine.create(function () print("123")end)]].原创 2022-04-17 16:47:13 · 239 阅读 · 0 评论 -
Lua-- Lua的特殊用法(多返回等)
print("******* Special *******")-- 特殊用法-- print("******* 多变量赋值 *******")a = 1b = 2c = "123"-- 等效于a, b, c = 1, 2, "123"print(a,b,c)-- 多变量赋值,如果后面的值不够,会自动补空a, b, c = 1, 2print(a,b,c)-- 多变量赋值,如果后面的值多了,会自动省略a, b, c = 1, 2, 3, 4, 5print(a, b, c).原创 2022-04-17 16:46:32 · 317 阅读 · 0 评论 -
Lua-- 多脚本执行
-- 多脚本执行print("******* Require ******* ")-- print("******* 全局变量和本地变量 ******* ")-- 全局变量a = 1b = "123"for i = 1, 2 do -- 此处 c 依然是全局变量,因此循环外可以被打印 c = "test"endprint(c)for i = 1, 2 do local d = "test" print("in loop " .. d)endprint.原创 2022-04-14 19:21:47 · 893 阅读 · 0 评论 -
Lua-- 复杂数据类型
print("******* Table2 ******* ")-- print("******* 字典 ******* ")-- 字典的本质也是table-- print("******* 字典的声明 ******* ")-- 字典由键值对构成a = {["name"] = "Mr.z", ["age"] = 14, ["1"] = 5}-- 访问单个变量用中括号来访问print(a["name"])print(a["age"])print(a["1"])-- 还可以类似 .成员.原创 2022-04-14 19:21:12 · 314 阅读 · 0 评论 -
Lua-- Table的遍历
print("******* Table Pairs ******* ")-- 迭代器遍历主要是用来遍历表的-- # 得到的table长度其实并不一定准确,一般不同 # 来遍历tablea = {[0] = 1, 2, [-1] = 3, 4, 5, [5] = 6}-- print("******* ipairs迭代器遍历 ******* ")-- ipairs-- 从 1 开始往后遍历, 小于等于0的索引遍历-- 只能找到连续索引的 键,如果中间断序了,那么也无法遍历出后面的内容fo.原创 2022-04-14 19:20:39 · 409 阅读 · 0 评论 -
Lua-- Table 类型
print("******* Table ******* ")-- 所有的复杂类型都是table(表)-- print("******* 数组 ******* ")a = {1,2,3,4,5,6,"1234",true, nil}-- Lua中索引从1开始,所以所以0为nilprint(a[0])print(a[1], a[2])-- #是通用的获取长度的关键字-- 在打印长度的时候,nil被忽略print(#a)-- 因为lua底层获取长度规则的问题, # 取得的table长度并.原创 2022-04-14 19:19:41 · 302 阅读 · 0 评论 -
Lua-- 函数
print("******* Function ******* ")-- function 函数名()-- end-- 或者-- a = function()-- end-- print("******* 无参数无返回值 ******* ")function F1() print("F1 function")endF1()-- 有点类似C#中的委托和事件F2 = function () print("F2 function")endF2()-- print.原创 2022-04-14 19:19:07 · 153 阅读 · 0 评论 -
Lua-- 循环
print("******* Loop ******* ")print("******* while ******* ")-- while 条件 do ... endnum = 0while num < 5 do print(num) num = num + 1endprint("******* do while ******* ")-- repeat .... until 条件 (注意:条件是结束条件)num = 0repeat print(num).原创 2022-04-14 19:18:39 · 209 阅读 · 0 评论 -
Lua-- 条件语句
print("******* Condition ******* ")-- if 条件 then ... end-- 但分支a = 9if a > 5 then print("123")end-- 双分支-- if 条件 then ....else 条件 then if a < 5 then print("123")else print("321")end-- 多分支-- if 条件 then ....elseif 条件 then ... e.原创 2022-04-14 19:18:08 · 239 阅读 · 0 评论 -
Lua-- 运算符
print("******* Operator ******* ")-- print("******* 算术运算符 ******* ")-- + - * / %-- Lua没有自增自减 ++ ---- 没有复合运算符 += -= /= *= %=print("+ " .. 1 + 2)a = 1b = 2print(a+b);-- 字符串可以自动转为number进行算数运算符操作print("123 " + 1)print("123.4" + 1)print("- " .. 1.原创 2022-04-14 19:17:17 · 342 阅读 · 0 评论 -
Lua-- String类型变量
print("******* string ******* ")str = "abcd"str = 'abc'-- ********** 获取字符串的长度 **********-- 一个汉字占3个字符,英文字符占1个字符s = "abcdEFG"print(#s)s = "汉字"print(#s)-- ********** 字符串多行打印 **********-- 通过转义字符print("123\n123")-- 通过[[]]s = [[I amteacher .原创 2022-04-14 19:16:44 · 346 阅读 · 0 评论 -
Lua-- 注释与变量
-- 单行注释 print打印函数-- lua语句,可以省略分号print("hello world")--[[ 多行注释1]]--[[ 多行注释2]]----[[ 多行注释3 --]]print("******* Variable ******* ")-- lua当中的简单变量类型-- nil number string boolean-- lua中所有的变量声明都不需要声明变量类型,会自动地判断类型-- 类似C#中的var-- lu.原创 2022-04-14 19:15:30 · 365 阅读 · 0 评论 -
Unity热更新——AssetBundle(AB包)+管理器
1、了解AB包是什么:特定于平台的资产压缩包,有点类似压缩文件,资产包括:模型、贴图、预设体、音效、材质球等等2、AB包有什么作用:相对Resources下的资源,AB包更好管理资源,区别是:Resouces文件夹下的文件在打包的时候会压缩一起打包,包括许多无用文件,并且为只读(只能通过Resouces.Load加载),无法修改AB包看了一从网络下载,也可以本地自己打包,存储位置可自定义,压缩方式可定义,后续可以动态更新作用是:(1)减少包体大小:压缩资源(节约硬盘空间),.原创 2022-03-31 22:55:27 · 8127 阅读 · 2 评论