在corona中停止监听'x'秒。

我有一个基于摇晃事件的淡入淡出功能,但如果在功能期间再次摇晃它,则会堆叠功能。我想的是等待功能结束(5秒),然后再开始监听。代码是什么?

这是我当前拥有的:

function fadeOut ( event )
    transition.to(yes1, {time=2000, alpha=0})
    transition.to(yes2, {time=2000, alpha=0})
    ...
    transition.to(funny3, {time=2000, alpha=0})
    transition.to(funny4, {time=2000, alpha=0})
    timer.performWithDelay(2000, onShakeComplete)
end

responses = {yes1, yes2, yes3, yes4, yes5, yes6, yes7, yes8, yes9, yes10,
no1, no2, no3, no4, no5, maybe1, maybe2, maybe3, maybe4, maybe5,
funny1, funny2, funny3, funny4}

local shaking = false

-- 在完成摇动后重置摇动标志
local function onShakeComplete()
    shaking = false
end

local function onShake (event)
        if event.isShake and not shaking then
        shaking = true
        local object = responses[math.random(1,20)]
        transition.to(object, {time=2000, alpha=1})
        timer.performWithDelay(4000, fadeOut)
    end
end
Runtime:addEventListener("accelerometer", onShake)
点赞
用户501459
用户501459
-- 如果我们现在正在震动,则为true
local shaking = false

-- 在震动完成后重置震动标志
local function onShakeComplete()
    shaking = false
end

local function onShake (event)
    if event.isShake and not shaking then
        local object = responses[math.random(1,20)]
        transition.to(object, {time=2000, alpha=1})
        timer.performWithDelay(4000, fadeOut)
        timer.performWithDelay(4000, onShakeComplete)
        shaking = true
    end
end
2012-09-24 17:34:30