onPress = display.remove 不适用于 Corona SDK

onPress = display.remove not working on Corona 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" [=12] 就不会显示按钮=]

问题是您没有为 onPress 侦听器分配函数。您正在执行 display.remove(button1) 并将 returns 分配给 onPressnil。您需要像这样包装您的函数调用:

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

或者像这样:

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

...

onPress = deleteButton1,

这就是为什么您的 button1 从未出现过,您已经通过调用 display.remove() 删除了它。请记住,widget 需要在 onPress 上分配一个函数,您可以通过简单地指定函数名称或在此处创建一个函数来实现。

您也可以像下面这样使用内联函数:

local buttonSmall = widget.newButton
{

id = "smallBtn",

defaultFile = "buttonBlueSmall.png",

overFile = "buttonBlueSmallOver.png",

label = " Next",

fontSize = 12,

emboss = true,

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

}