События касания обрабатываются поэтапно. Таким образом, событие, генерируемое касанием, имеет фазы «начался», «перемещен», «закончен» и «отменен». Поэтому вы можете использовать обнаружение, выполнив следующее:
self.isTouched = false;
function defaultTouchHandler(e)
if(e.phase == "began") then
print("Tapped")
self.isTouched = true;
--User has touched the screen (not moving). Do "onMouseDown" things here
elseif(e.phase == "moved") then
print("Moved")
--User is moving their finger wile touching. Do "onMouseMoved" things here
elseif(e.phase == "cancelled" or e.phase == "ended") then
print("End of touch")
self.isTouched = false;
--User lifted their finger, or an interrupt happened. Do "onMouseUp" things here
end
end
self:addEventListener("touch", defaultTouchHandler)
Когда вам нужно проверить, не касался ли экран, просто выполните:
if(isTouched) then
--Screen is being touched
else
--Screen is not being touched
end
РЕДАКТИРОВАТЬ: Очевидно, что вы можете изменить «я» в строке addEventListener
на любой объект, который вы хотите прослушивать для сенсорных событий на