Во-первых, используйте прослушиватель событий для «прикосновения», а не «прикосновения». Слушатели событий касания реагируют только когда палец убран, а слушатели касания реагируют как на начало, так и на конец касания.
Во-вторых, чтобы повторять событие снова и снова, вы должны использовать enterFrame. Поэтому установите прослушиватель enterFrame, когда начинается касание, и удалите прослушиватель enterFrame, когда касание заканчивается:
local function onEnterFrame(event)
ball.y = ball.y + 2
end
local function onTouch(event)
if (event.phase == "began") then
Runtime:addEventListener("enterFrame", onEnterFrame)
elseif (event.phase == "ended") then
Runtime:removeEventListener("enterFrame", onEnterFrame)
end
end
button:addEventListener("touch", onTouch)
(возможно, я неправильно набрал пару ключевых слов, я просто набрал это на макушке)