如何检测屏幕是否被触摸?对我来说,触摸屏幕被触摸并且手指没有移动时不会产生触摸事件。电晕SDK:触摸事件
1
A
回答
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
编辑:很明显,你可以改变“自我”在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)
相关问题
- 1. 电晕触摸事件?
- 2. 电晕:触摸
- 3. 电晕处理非常特定的触摸事件
- 4. Corona SDK触摸事件
- 5. 自定义事件电晕SDK
- 6. 如何检测电晕sdk中的触摸区域?
- 7. 手动结束或取消电晕sdk触摸阶段?
- 8. 电晕sdk:得分
- 9. 电晕SDK,旋转
- 10. 在Corona SDK中限制触摸事件
- 11. Tabris:Tabris SDK是否考虑触摸事件?
- 12. 触摸保持事件在Corona SDK
- 13. 触摸事件
- 14. 触摸事件
- 15. Sencha触摸收听电话事件
- 16. WPF触摸事件+电子书?
- 17. 如何触发停止在晕轮sdk运动球事件
- 18. 刷卡方向电晕SDK
- 19. 在电晕sdk调试
- 20. 阅读JSON(电晕SDK)
- 21. 电晕sdk问题(新手)
- 22. 级别页面电晕SDK
- 23. 组冠军电晕sdk
- 24. 电晕sdk捏缩放
- 25. 如何利用电晕SDK
- 26. 建设电晕sdk缺少文件?
- 27. 子弹火灾重置事件电晕SDK
- 28. 用一个事件处理两个函数。电晕的SDK
- 29. 电晕SDK - 改变一个变量用于拖拽事件
- 30. 事件触摸屏轻轻触摸