如何檢測屏幕是否被觸摸?對我來說,觸摸屏幕被觸摸並且手指沒有移動時不會產生觸摸事件。電暈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. 事件觸摸屏輕輕觸摸