我在 Corona sdk 游戏中使用运行时监听器,它可以工作,但是我真正感兴趣的是让我的游戏不会干扰用户通过使用硬件音量控制在他们的 droid 手机或平板电脑上设置音量在他们的设备上。我在 Corona Labs 网站上找不到任何内容。感谢您的任何建议。
最佳答案
这发生在我身上一次,是因为我使用了事件监听器“key”
要解决这个问题,除了您正在处理的 key 外,您需要返回 FALSE,当“ key ”监听器返回 true 时,这意味着:“我用那个 key 做了一些事情,所以操作系统应该忽略它”以及何时返回 false,这意味着:“我对那个 key 没有做任何事情,所以操作系统应该处理它”
那么,为什么不能设置音量?这是因为您在某处捕获了“键”事件,并且当按下的键是音量一时不返回 false(最简单的方法是为您想要的返回“true”,为其他所有返回“false”)。
当我遇到这个问题时,我有这段代码:
local downPress = false
function onBackButtonPressed(e)
if (e.phase == "down" and e.keyName == "back") then
downPress = true
else
if (e.phase == "up" and e.keyName == "back" and downPress) then
storyboard.gotoScene( LastScene , "fade", 200 );
Runtime:removeEventListener( "key", onBackButtonPressed );
end
end
end
它可以很好地满足我的需求,但会阻止音量键。 请注意,上面没有“返回”语句。
现在的代码是这样的:
local downPress = false
function onBackButtonPressed(e)
if (e.phase == "down" and e.keyName == "back") then
downPress = true
return true
else
if (e.phase == "up" and e.keyName == "back" and downPress) then
storyboard.gotoScene( LastScene , "fade", 200 );
Runtime:removeEventListener( "key", onBackButtonPressed );
return true
end
end
return false; --THE LINE YOU REALLY NEED IS THIS ONE!!!
end
所以我所做的是仅在按下并按下后退键时返回 true(我的目的是防止应用程序在按下后退键时退出,可能这也是您想要的)并为其他一切返回 false(包括音量键!)
关于android - Corona SDK 允许设备音量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152022/