基于Slua的 Lua NGUI UI框架

该博客介绍了基于Slua的Lua NGUI UI框架,主要包括层级管理和界面导航两个模块。层级管理将界面分为三种类型,并详细说明了深度值的管理。界面导航则涉及三种模式,特别指出非固定窗口类只能使用NavType_single模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

lua中的内容这里主要有两个模块 :

1.层级管理模块

  • 在层级上将界面分为几种类型,这里暂时先定三种常用的类型
LayerType = { --值越大层级越高
    LayerType_normal = 1, --一般界面,全屏且不能操作下层界面
    LayerType_fixedWindow = 2,--固定窗口 不能自行关闭和打开的窗口 比如 游戏资源的显示
    LayerType_popWindow = 3,--非固定窗口 可自行关闭的窗口 常用的tips弹窗等
}

注意:每个normal界面都可关联 相关的固定窗口列表 当其显示时加载列表中的固定窗口,关闭时同时关闭。

  • 每层的深度范围不同类型置越大深度值越高,站定每层的范围
    mLayerMaxCount = 1000
    function UIManager:Create()
        self.mUIRoot = LuaHelper.mUIRoot.transform
        self.m_PanelDepthTable = {}
    
        for k,v in pairs(UIType) do
            self.m_PanelDepthTable[v] = {
                depth_start = 1+(v-1)*self.mLayerMaxCount,
                curDepth = 1+(v-1)*self.mLayerMaxCount,
                showList = {},
                showListCount = 0,
            }
    
        end
    end
  • 在开打界面和关闭界面时管理每个实例化出来的界面depth,核心代码如下
function UIM
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值