2012-02-04 3 views

ответ

0

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

0

Однако, вы могли бы сделать

e.phase == "began" 

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

0

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

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 

EDIT: Очевидно, что вы можете изменить «Я» на линии addEventListener быть любым объектом, который вы хотите прослушать для событий касания на

0
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)