我到处都在搜索有关如何在函数内更改变量的答案。我尝试了许多不同的解决方案,但到目前为止都没有奏效。
我的计划是在按下按钮时运行的函数中更改名为“ stateRed”的变量。运行该函数时,变量将变为“ READY”。然后,我将使用此变量运行单独的代码块(实际游戏)。其中有两个按钮。
我的代码如下:
function ReadyRed()
stateRed = 'READY'
stateBtnRed = widget.newButton
{
defaultFile = "ready_red.png",
overFile = "unready_red.png",
label = "Ready",
emboss = true,
onPress = unreadyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end
function UnreadyRed()
local stateRed = 'UNREADY'
stateBtnRed = widget.newButton
{
defaultFile = "unready_red.png",
overFile = "ready_red.png",
label = "Unready",
emboss = true,
onPress = readyStateRed,
}
stateBtnRed.rotation = 90; stateBtnRed.width = 90; stateBtnRed.height = 90; stateBtnRed.x = display.contentWidth / 2 - 170; stateBtnRed.y = display.contentHeight - 270
return stateRed
end
启动游戏的代码如下:
if stateRed == 'READY' and stateBlue == 'Ready' then
答案 0 :(得分:2)
如果变量stateRed
是全局变量,则在变量名之前删除local
关键字,即
function UnreadyRed()
stateRed = 'UNREADY'
...
end
注意:
stateRed
是全局变量,因此您可能不需要在ReadyRed
和UnreadyRed
函数中返回stateRed
。