如何使用电晕使按钮保持按下状态



我试图让我的按钮在释放后保持"按下"。 现在我正在使用改进的按钮模块进行电晕,我的默认图像是按钮看起来未按下,并且上方的图像被看起来按下的图像所取代。

我想做的是,一旦按下按钮,它就会停留在图像上。以下是我正在测试它的按钮如何设置我的代码。

local digButton = buttons.newButton{
    default = "digButton.png",
    over = "digButtonPressed.png",
    onEvent = digButtonFunction,
    id = "dig"
    }
    digButton:setReferencePoint(display.CenterReferencePoint)
    digButton.x = display.contentWidth/5
    digButton.y = display.contentHeight/1.9

此外,我有一个函数(digButtonFunction),它将这个按钮的id设置为一个变量,用于在用户按下这个按钮之后的按钮时运行if语句。

在我看来,这听起来像你真正想要的是一个开关。 按钮并不是从 UI 角度真正设计的。 关闭状态只是为了向用户反馈发生了某些操作。

如果是我,

我根本不会使用按钮位,而是使用 display.newImageRect() 加载到图像中,并首先绘制下状态,然后绘制上状态。 在每个触摸事件侦听器上构建了一个触摸事件侦听器,该侦听器将隐藏其中一个。 我在游戏中为我的声音开/关按钮这样做。

local soundOn = true 
local soundOnBtn, soundOffBtn
local function soundToggle(event)
    if soundOn then
        soundOn = false
        soundOnBtn.isVisible = false
        soundOffBtn.isVisible = true
    else
        soundOn = true
        soundOnBtn.isVisible = true
        soundOffBtn.isVisible = false
    end
    return true
end
soundOnBtn = display.newImageRect("images/switch_on.png", 46, 36)
soundOnBtn.x = display.contentWidth / 2 + 25
soundOnBtn.y = display.contentHeight / 2 - 15
group:insert(soundOnBtn)
soundOnBtn:addEventListener("tap", soundToggle)
soundOffBtn = display.newImageRect("images/switch_off.png", 46, 36)
soundOffBtn.x = display.contentWidth / 2 + 25
soundOffBtn.y = display.contentHeight / 2 - 15
group:insert(soundOffBtn)
soundOffBtn:addEventListener("tap", soundToggle)

soundOffBtn.isVisible = false

相关内容

  • 没有找到相关文章

最新更新