zoukankan      html  css  js  c++  java
  • cocos2dx lua UI栈

    1.UI栈的由来

    由于写cocos2dx时很多时候你不想按安卓返回键退出。这时候你需要做的是模拟安卓原生方式

    模拟安卓Activity的操作
    1.让所有UI界面继承UIObject基类。
    2.在UIObject基类中实现安卓返回键触发。

    --[[
    @brief  此处定义一些对UI进行操作的公共函数
    @by     李俊
    ]]

    wolf = wolf or {}
    local UIUtils = {}

    UIUtils._uistack = {}
    -------------------------------------------
    --将一个对话框加入栈中
    --@param uiobject 对话框
    -------------------------------------------
    function UIUtils.pushUI(uiobject)
        if uiobject.isDialog then
            UIUtils._uistack[#UIUtils._uistack+1] = uiobject
        end
    end
    -------------------------------------------
    --将栈顶对话框弹出栈中,并删除。若栈顶无元素返回nil
    --return uiobject
    -------------------------------------------
    function UIUtils.popUI()
        local uiobject = UIUtils._uistack[#UIUtils._uistack]
        UIUtils._uistack[#UIUtils._uistack] = nil
        return uiobject
    end

    -------------------------------------------
    --将栈顶获取栈顶元素,不移除,若栈顶无元素返回nil
    --return uiobject
    -------------------------------------------
    function UIUtils.topUI()
        local uiobject = UIUtils._uistack[#UIUtils._uistack]
        return uiobject
    end

    function UIUtils.initUIStack()
        UIUtils._uistack = {}
    end

    function UIUtils.countUISatck()
        return #UIUtils._uistack
    end

    wolf.UIUtils = UIUtils

  • 相关阅读:
    java中的CAS
    浅谈尾递归
    LeetCode 第 222 场周赛
    LeetCode 第 216 场周赛
    C++代码整洁之道
    LeetCode 第 211 场周赛
    LeetCode 每日一题 51.N 皇后
    LeetCode 第 201 场周赛
    LeetCode 第 32 场双周赛
    [转]演讲实录丨DevOps之十倍速原则
  • 原文地址:https://www.cnblogs.com/leejuen/p/5547439.html
Copyright © 2011-2022 走看看