【问题标题】:How to disable a button initially then re-activate it during gameplay如何最初禁用按钮,然后在游戏过程中重新激活它
【发布时间】:2015-12-07 00:27:12
【问题描述】:

我正在开发一款射击类移动应用,如果我在游戏过程中点击“开火”按钮,它会向敌人发射子弹并摧毁它。这个“开火”按钮在整个游戏过程中都处于活动状态,它只通过点击按钮而不是连续按住按钮来发射子弹。

目前,我想创建一个“辅助武器”按钮,它以与“开火”按钮类似的方式开火。但是,我希望最初禁用这个“辅助武器”按钮,直到被“开火”按钮的子弹杀死的特定敌人激活它。

基本上,有没有办法让按钮最初处于非活动状态(并在屏幕上显示为透明),然后在某些事件发生后被激活以进行拍摄?

这是我正在使用的“开火”按钮的示例:

local function shootFn(e)

    if e.phase == "ended" then 

        local power = (firenum+2.5)/2 
        local bullet =   display.newImage("assets/game/fire/"..firenum..".png")
        bullet.x = player[1].x; bullet.y = player[1].y - 50
        bullet.power = power
        sceneGroup:insert(bullet)
        physics.addBody(bullet, "dynamic",{isSensor = true})
        bullet.isBullet = true;bullet.name = "bullet"
        bullet.speed = firenum * 7

        fireBtn:setEnabled(false)
        timer.performWithDelay(350,function() fireBtn:setEnabled(true); end, 1)
    end
end

谢谢各位!感谢支持:)

【问题讨论】:

    标签: android ios lua coronasdk event-listener


    【解决方案1】:

    如果您使用的是widget.newButton

    btn:setEnabled(false) 
    

    应该停用按钮,然后您可以通过

    重新激活它
    btn:setEnabled(true) 
    

    正如你上面所说的。如果你想让它不可见/透明,

    btn.alpha = 0.X
    

    btn.isVisisble = false
    

    【讨论】:

    • 嗨丹纳什。没错 - 我目前正在使用 widget.newButton。我主要关心的实际上是我应该在提供的代码示例中放置“btn:setEnabled(false)”的位置,以确保整个按钮本身在通过事件激活之前最初被禁用。
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 2018-07-07
    • 2019-06-01
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多