我想添加按钮,直到我停止按下它们,它将继续执行其功能。
例如,在马里奥游戏中,一旦我们开始按下前进按钮,它将继续移动马里奥,直到我们离开该按钮,我们不必再次按下移动。
答案 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。