触发隐藏和显示表格

时间:2013-02-23 01:30:14

标签: lua corona

我正试图在我的桌子local starTable = {}

上触发隐藏和显示
local starTable = {} -- Set up star table


local function showStarTable()
-- some trigger to show the star table
end
timer.performWithDelay( 500, showStarTable, 1 )

local function hideStarTable()
-- some trigger to hide the star table
end
timer.performWithDelay( 1000, hideStarTable, 1 )    

是否有可能实现这一目标

2 个答案:

答案 0 :(得分:1)

您的代码将在1/2秒后执行showStarTable()函数1次。然后在另一个1/2秒内,它将执行一次hideStarTable()。

display.newImageRect()这样的显示对象是表,所以如果这是你所指的表,你可以通过改变对象的.alpha属性或它的可见性来显示/隐藏它们(.isVisible = true或。 isVisible = false)。但是,表本身只是信息的容器,并且通用表不可显示。它可以包含多个显示对象。

如果表格中有可显示的内容,那么您的显示/隐藏功能将负责显示/隐藏表格的内容。

答案 1 :(得分:1)

这里的第一个答案就是一个例子:

local starTable = {}
local star1  = <display object>


starTable:insert(star1)

local function showStarTable()
    starTable.alpha = 1
end
timer.performWithDelay( 500, showStarTable, 1 )


local function hideStarTable()
    starTable.alpha = 0
end
timer.performWithDelay( 1000, hideStarTable, 1 ) 

或者你想要坚持一个真正的桌子。并且没有看到实际插入到您的starTable中的内容,您可以尝试:

local starTable = {}

local star  = <display object>
starTable[1] = star

star  = <display object>
starTable[2] = star

star  = <display object>
starTable[3] = star

local function showStarTable()
    for i=1, #starTable do
        starTable[i].star.alpha = 1
    end
end
timer.performWithDelay( 500, showStarTable, 1 )


local function hideStarTable()
    for i=1, #starTable do
        starTable[i].star.alpha = 0
    end
end
timer.performWithDelay( 1000, hideStarTable, 1 ) 

但是,第一个选项更好,如果它适用于您的程序。