[项目总结二]:lua取得物品的一些优化

   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]

 

暂时这么些把 以后再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值