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 分配给 onPress
即 nil
。您需要像这样包装您的函数调用:
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
}
我是 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 分配给 onPress
即 nil
。您需要像这样包装您的函数调用:
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
}