Corona SDK: сенсорное мероприятие - PullRequest
1 голос
/ 04 февраля 2012

Как я могу определить, касался ли экран?Мне кажется, что сенсорные события не генерируются, пока к экрану прикасаются и палец не двигается.

Ответы [ 4 ]

0 голосов
/ 02 октября 2016
local object = display.newImage( "ball.png" )
object.id = "ball object"

 local function onObjectTouch( event )
if ( event.phase == "began" ) then
    print( "Touch event began on: " .. event.target.id )
elseif ( event.phase == "ended" ) then
    print( "Touch event ended on: " .. event.target.id )
end
return true
end
object:addEventListener( "touch", onObjectTouch )
0 голосов
/ 13 мая 2013

Тем не менее, вы можете сделать

 e.phase == "began"

в вашей функции события.Это срабатывает, когда пользователь кладет палец на экран.

0 голосов
/ 30 декабря 2013

События касания обрабатываются поэтапно. Таким образом, событие, генерируемое касанием, имеет фазы «начался», «перемещен», «закончен» и «отменен». Поэтому вы можете использовать обнаружение, выполнив следующее:

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 на любой объект, который вы хотите прослушивать для сенсорных событий на

0 голосов
/ 09 февраля 2012

Да, только изменяет для записи движения пальца. Опустить палец, поднять палец вверх и перетаскивать событие триггера.

...