随笔分类 -  Lua

【泡泡堂】格子管理等
摘要:<1>很多人都玩过炸弹人或者泡泡堂,之前做了这个玩法,记录一下关键实现 <2>直接上Lua代码 1.维护每个格子上的物体 比如:BUFF类,宝箱,草箱,木箱,铁箱,炸弹,小怪... 用一个结构维护一个格子31*31=961,进入场景创建,离开释放掉 每个结构里面声明一张map缓存格子里面所有的物体 阅读全文
posted @ 2019-05-07 15:22 tianjiuwan 阅读(509) 评论(0) 推荐(0)
【吃鸡】客户端视野管理,管理掉落物
摘要:<1>原因: 在吃鸡场景中,有很多掉落物(每种掉落物模型各不相同),服务器在进入场景的时候推送了所有掉落物,后面服务器只做更新掉落和删除掉落操作 客户端需要对这些掉落物做视野管理,模型太多手机内存开销太大,也很可能因为内存过高崩溃 <2>思路: 把地图划分成均匀网格,每个掉落物存在网格之中,玩家每次 阅读全文
posted @ 2019-05-07 15:00 tianjiuwan 阅读(223) 评论(0) 推荐(0)
Lua初学习 9-14_05 协同程序
摘要:没有unity里面的好用 1:创建一个协程 co = coroutine.create( --返回一个thread类型 function () --当然 也可以不用匿名函数创建 print("aaa") --return 1,2 --报错 coroutine.yield(1,2) --挂起 prin 阅读全文
posted @ 2016-09-14 16:28 tianjiuwan 阅读(98) 评论(0) 推荐(0)
Lua初学习 9-14_04 元表中的 __index 和 __newindex 元方法;以及跟踪teble属性变化(get set)
摘要:1:__index a = { name = "a name",age = 99} b = { age = 100} setmetatable(b,a) print(b.name) > nil print(b.age) > 100 a.__index = a print(b.name) > a na 阅读全文
posted @ 2016-09-14 14:33 tianjiuwan 阅读(459) 评论(0) 推荐(0)
Lua初学习 9-14_03 迭代器 ( ipairs 与 pairs)
摘要:前言 :所谓迭代器:就是一种可以遍历一种集合中所有元素的机制 Lua中,通常将迭代器表示为函数,每一次调用函数,即返回集合中下一个元素 1:ipairs 与 pairs 的区别 t1 = {"one","two","three","four"} --数组 ipairs遍历 for k,v in ip 阅读全文
posted @ 2016-09-14 13:42 tianjiuwan 阅读(407) 评论(0) 推荐(0)
Lua初学习 9-14_03 数据结构 ---> 队列 (自己写的 跟书上差不多)
摘要:1:创建一个双向队列 list = { first =1,last = 0} function list:pushFirst(value) --从头放入一个 value local f = self.first-1 -- f=0 self[f] = value --self[0] = value s 阅读全文
posted @ 2016-09-14 11:37 tianjiuwan 阅读(160) 评论(0) 推荐(0)
Lua初学习 9-14_01 数据结构 ---> 链表list (同名table)
摘要:1:首先说个蛋疼的问题 --声明2个字段名相同的table arr = { value =99 ,age =23 } arr = { value = 100 , id =10001} print(arr.value) > 100 print(arr.age) >nil 代码2 arr = { val 阅读全文
posted @ 2016-09-14 09:47 tianjiuwan 阅读(285) 评论(0) 推荐(0)
Lua初学习 9-14_01 数据结构 ---> 数组与矩阵
摘要:1:直接用table声明并初始化一个数组 arr = {1,2,3,4,5,6,7} > index 从 1 开始 2:循环创建一个数组 arr = {} for i =1, 1000 do arr[i] =0 end >拿到数组长度 #arr(即时arr index从 -100 或者 99开始,# 阅读全文
posted @ 2016-09-14 09:18 tianjiuwan 阅读(281) 评论(0) 推荐(0)
Lua初学习 9-13_05 Lua中table 模仿 C#类模版 (Lua方法调用方式)
摘要:1-1: 函数调用 a = {} function a.fun01(n) print(n) end 调用: a.fun01(1) > 1 》这种方式 调方法,第一个参数 n 就是传入进去的参数 1 ,参数列表(1) a:fun01(2) > table: 0012c9e3(内存地址) 》第一个参数 阅读全文
posted @ 2016-09-13 17:46 tianjiuwan 阅读(227) 评论(0) 推荐(0)
Lua初学习 9-13_04 模拟C#属性器 ,闭合函数
摘要:Lua代码: human = { age = 0, __newindex = function (t,k,v) if(k == "age") then print("age 变化了") human.age = v else print("其他属性变化了") end end} coco = { --a 阅读全文
posted @ 2016-09-13 15:51 tianjiuwan 阅读(366) 评论(0) 推荐(0)
Lua初学习 9-13_04 require moudle
摘要:1:require(用于使用模块) module(用于创建模块) 2:一个包就是一些列的模块 3:当我尝试 a = { fun001 = function() print("func001 print zzz") } 这个lua脚本 命名为 one.lua 另外一个lua脚本中: m = requi 阅读全文
posted @ 2016-09-13 15:22 tianjiuwan 阅读(147) 评论(0) 推荐(0)
Lua初学习 9-13_03 元表与元方法
摘要:1:元表与元方法 a={name = "a name" , age = "a age 18"} b={} setmetatable(b,a) 测试001: print(a.age) > a age 18 print(b.age) > nil 测试002: a.__index = a print(a. 阅读全文
posted @ 2016-09-13 13:41 tianjiuwan 阅读(123) 评论(0) 推荐(0)
Lua初学习 9-13_02 元表与元方法
摘要:1:元表与元方法 测试001: student = { name = "cocotang", id = 10001, calss = "math",}function student:SayHello(name)print("student say hello to : "..name)end hu 阅读全文
posted @ 2016-09-13 11:04 tianjiuwan 阅读(108) 评论(0) 推荐(0)
Lua初学习 9-13
摘要:1:重新看看函数的调用 测试001: a = {}function a:Atest()print("a print")end b = {}function b:Btest()print("b print")end a.Atest()a:Atest() b.Btest()b:Btest() debug 阅读全文
posted @ 2016-09-13 09:42 tianjiuwan 阅读(117) 评论(0) 推荐(0)
Lua初学习 9-12 基础
摘要:1:string 转 number :tonumber(string) 2: number 转 string :tostring(number) 3:string API: Lua中的字符串是不可变值,a = "cocotang" string.gsub(a,"c","z") print(a) > 阅读全文
posted @ 2016-09-12 15:10 tianjiuwan 阅读(208) 评论(0) 推荐(0)