onPress = display.remove无法使用Corona SDK

时间:2016-09-18 13:27:09

标签: lua sdk corona

我是电晕sdk和lua的初学者。所以我正在研究一个程序并面临以下问题:

local buttonSmall = widget.newButton
{
id = "smallBtn",
defaultFile = "buttonBlueSmall.png",
overFile = "buttonBlueSmallOver.png",
label = " Next",
fontSize = 12,
emboss = true,
onPress = display.remove(button1)

}

问题是当我点击" buttonSmall"我想删除按钮1但每当我在sdk中启动我的代码时,它甚至没有显示按钮,甚至没有点击" buttonSmall"

2 个答案:

答案 0 :(得分:3)

问题是您没有为onPress侦听器分配函数。您正在执行display.remove(button1)并将返回的内容分配给onPress nil。您需要包装函数调用,如下所示:

onPress = function()
    display.remove(button1)
end,

或者像这样:

local function deleteButton1()
    display.remove(button1)
end

...

onPress = deleteButton1,

这就是为什么button1永远不会出现的原因,您已经通过调用display.remove()删除了它。请记住,widget希望在onPress上分配一个函数,你可以通过简单地指定函数名或在那里创建一个函数来实现。

答案 1 :(得分:0)

您还可以使用如下所示的内联函数:

local buttonSmall = widget.newButton
{

id = "smallBtn",

defaultFile = "buttonBlueSmall.png",

overFile = "buttonBlueSmallOver.png",

label = " Next",

fontSize = 12,

emboss = true,

onPress = function()display.remove(button1)end

}
相关问题