hello欸瑞王!将近六个月,我变胖了,也变强了。
前几天刚用二分查找找打了了归属城市,所以有点膨胀。
不过今天想分享的是另一个小窍门,就是lua中的setmetatable
功能需求 需要将55座城池在UI中的最标点以及对应的数据结合存起来
先建立一个demo模板
然后就是见证奇迹的时刻了!
一个for循环 城池的数据就已经全部存到了包含UI坐标的表里面
怎么样是不是很方便?屌不屌?
你们这些高手还能有这样的快乐吗?
不要羡慕,低调。
然后分享一些我在项目里写的或者查到的一些公用方法把
1转换字符split
2将数字转换成汉字(只做到100 需要的后面扩展)
3动态设置UGUItext颜色
4像C#一样用lua栈和数列等
function Queue()
local queue = {}
queue.list = {}
queue.count = 0
-- 获取元素
queue.Get = function(index)
return queue.list[index]
end
-- 设置元素
queue.Set = function(index,v)
queue.list[index] = v
end
-- 加入队列最后
queue.Push = function(v)
if queue.list == nil then queue.list = {} end
table.insert(queue.list,v)
queue.count = queue.count + 1
end
-- 从队列最前面取出一个元素
queue.Pop = function()
if queue.list == nil then
return nil
end
local v = queue.list[1]
table.remove(queue.list,1)
queue.count = queue.count - 1
return v
end
-- 查找
queue.Find = function(check)
if check == nil then return nil end
for i = 1,#(queue.list) do
local item = queue.list[i]
if check(item) then
table.remove(queue.list,i)
queue.count = queue.count - 1
return item
end
end
return nil
end
-- 移除指定索引处的元素
queue.RemoveAt = function(index)
table.remove(queue.list,index)
queue.count = queue.count - 1
end
queue.Remove = function(item)
for i = 1,#(queue.list) do
local item2 = queue.list[i]
if item2 == item then
table.remove(queue.list,i)
return true
end
end
return false
end
return queue
end
5 lua怎么用switch
func={
[1]=function() method1() end,
[2]=function() method1() end,
[3]=function() method1() end
}
func[1]
暂时这么些把 以后再补充