zoukankan      html  css  js  c++  java
  • Unity热更新05-XLua实战-01

    --只要是一个新的对象(面板)我们那就新建一张表
    MainPanel = {}
    
    --不是必须写 因为lua的特性 不存在声明变量的概念
    --这样写的目的 是当别人看这个lua代码时  知道这个表(对象)有什么变量很重要
    --关联的面板对象
    MainPanel.panelObj = nil
    --对应的面板控件
    MainPanel.btnRole = nil
    MainPanel.btnSkill = nil
    
    --需要做 实例化面板对象
    --为这个面板 处理对应的逻辑 比如按钮点击等等
    
    --初始化该面板 实例化对象 控件事件监听
    function MainPanel:Init()
        --面板对象没有实例化过 才去实例化处理
        if self.panelObj == nil then
            --1.实例化面板对象 ABMgr + 设置父对象
            self.panelObj = ABMgr:LoadRes("ui", "MainPanel", typeof(GameObject))
            self.panelObj.transform:SetParent(Canvas, false)
            --2.找到对应控件 
            --找到子对象  再找到身上挂在的 想要的脚本
            self.btnRole = self.panelObj.transform:Find("btnRole"):GetComponent(typeof(Button))
            print(self.btnRole)
            --3.为控件加上事件监听  进行点击等等的逻辑处理
            --如果直接.传入自己的函数 那么在函数内部 没有办法用self获取内容
            --self.btnRole.onClick:AddListener(self.BtnRoleClick)
            self.btnRole.onClick:AddListener(function()
                self:BtnRoleClick()
            end)
        end
    end
    
    function MainPanel:ShowMe()
        self:Init()
        self.panelObj:SetActive(true)
    end
    
    function MainPanel:HideMe()
        self.panelObj:SetActive(false)
    end
    
    function MainPanel:BtnRoleClick()
        --print(123123)
        --print(self.panelObj)
        --等我们写了背包面板 
        --在这显示我们的 背包面板
        BagPanel:ShowMe()
    end
    
  • 相关阅读:
    构建之法读书笔记 第4章 两人合作
    ASE19 团队项目 alpha 阶段 Frontend 组 scrum9 记录
    ASE —— 第二次结对作业
    ASE —— 第一次结对作业
    高级软件工程 —— 第一周博客作业
    软工个人总结
    六月上团队项目心得
    团队项目心得
    结对编程收获
    结对作业——随机生成四则运算(Core 第7组)
  • 原文地址:https://www.cnblogs.com/unitysir/p/13896820.html
Copyright © 2011-2022 走看看