我在Corona有一场比赛。其中我已经实施了摇动事件。现在我想保持瓶子在游戏中摇晃,直到我继续摇动设备。然而,即使我一直持续摇动设备,它也会在硬件震动停止一次后停止摇动动画。
if(event.isShake)then
shakeTimer = timer.performWithDelay(20,incrementMeter,-1)
shakeIsDone = true
elseif(event.isShake == false)then
timer.performWithDelay(1000,afterShakeStop)
end
答案 0 :(得分:1)
一旦注册了第一个震动事件,您将变量“shakeIsDone”设置为true,并且当摇动状态发生变化时您没有将此“状态”改回?
由于你的问题有点模糊,我将在这里假设一些事情。我假设您正在使用shakeIsDone变量来知道您何时没有摇动设备,并且此变量也用于使动画抖动。
你应该想要的是直接从摇动事件做动画;这样当您摇动设备时,您可以直接摇动动画。
首先你应该添加方法
因此:
-- The function Corona calls when the accelerometer detects a shake.
local function onShake (event)
if event.isShake then
-- Enter animation code here
end
end
--Establish a eventlistener for the onShake
Runtime:addEventListener("accelerometer", onShake)