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

时间:2012-12-13 07:02:19

标签: image button replace corona pressed

我试图让按钮在释放后保持“按下”状态。现在我正在使用改进的按钮模块进行电晕,我的默认图像是看起来未按下的按钮,并且过度图像被看起来按下的图像替换。

我要做的是按下按钮后,它会停留在过度图像上。以下是我为我正在测试的按钮设置代码的方法。

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语句。

1 个答案:

答案 0 :(得分:2)

这听起来像你真正想要的是一个开关。从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