电晕库

时间:2011-05-30 10:06:39

标签: mobile lua corona

我想添加按钮,直到我停止按下它们,它将继续执行其功能。

例如,在马里奥游戏中,一旦我们开始按下前进按钮,它将继续移动马里奥,直到我们离开该按钮,我们不必再次按下移动。

2 个答案:

答案 0 :(得分:1)

上面会一直运行,因为你正在寻找的enterFrame监听器会更像这样....

    local function moveLeft(event)
    if event.phase=="began" then
    character.x=character.x+1
    elseif event.phase="ended" then
    --do Nothing it wont move anymore anyways
    end
    end

local leftbutton=display.newImage("bla bla bla.png")

leftButton:addEventListener("touch",moveLeft)

当您使用触摸事件时,无论您告诉它做什么都不会停止,直到您释放它并且它与点击不同,因为在点击时您必须以相当快的速率释放,并且事件仅在您释放时注册。 / p>

答案 1 :(得分:0)

我认为你的问题是“如何制作一个连续发挥作用的按钮?”首先为“触摸”事件添加一个监听器。

触摸事件有几个阶段,用于触摸的开始和结束。所以在监听器函数中使用if / else来响应不同的阶段。

if event.phase=="began" then
  Runtime.addEventListener("enterFrame", doSomething)
elseif event.phase=="ended" then
  Runtime.removeEventListener("enterFrame", doSomething)

现在在doSomething函数中移动Mario。