當您將事件偵聽器添加到對象並移出該對象時,event.phase == "ended"
將不會被觸發,因爲它在對象外檢測到。 我的問題:有沒有一種方法可以檢測到event.phase == "ended"
,即使用戶在對象之外釋放觸摸,或者有其他方式可以檢測用戶是否已經提起手指而不使用運行時事件偵聽器?觸摸事件檢測問題
Q
觸摸事件檢測問題
1
A
回答
3
你可以試試下面的方法:
local bg = display.newRect(0,0,display.contentWidth,display.contentHeight)
local rect = display.newRect(100,200,100,100)
rect:setFillColor(0)
local isRectTouched = false;
local function bgTouch_function(e)
if(isRectTouched == true and e.phase == "ended")then
isRectTouched = false;
print("Started on Rect and ended outside")
end
end
bg:addEventListener("touch",bgTouch_function)
local function rectTouch_function(e)
if(e.phase == "began" or e.phase == "moved")then
isRectTouched = true;
print("began/moved .... rect")
else
isRectTouched = false;
print("ended .... rect")
end
end
rect:addEventListener("touch",rectTouch_function)
保持編碼..................
2
我會建議使用內置的SETFOCUS方法,它將允許您將觸摸事件綁定到特定的顯示對象。即使您離開物體,也可以讓事件發生。你可以閱讀這個方法here快樂編碼。
local function bind(event)
if event.phase=='began' then
display.getCurrentStage():setFocus(event.target)
end
if event.phase=='moved' or event.phase=='began' then
elseif event.phase=='ended' then
display.getCurrentStage():setFocus(nil)
-- Whatever you want to do on release here
end
end
相關問題
- 1. 觸摸檢測問題
- 2. 檢測觸摸事件
- 3. Cocos2D:SneakyJoystick +觸摸事件,問題
- 4. 問題與觸摸事件
- 5. 觸摸事件的問題
- 6. 檢測離散觸摸事件
- 7. 如何檢測多點觸摸事件?
- 8. Android:檢測觸摸事件崩潰
- 9. 檢測UIWebview上的觸摸事件?
- 10. 檢測UILabel上的觸摸事件
- 11. AndroidPlot:檢測點上的觸摸事件
- 12. 目標C觸摸事件問題
- 13. AppWidgetProvider處理觸摸事件問題
- 14. 的Javascript觸摸事件出問題
- 15. Android AndEngine觸摸事件問題
- 16. event.touches檢測觸摸屏垃圾郵件後的多個觸摸事件
- 17. 觸摸不檢測?
- 18. android檢測觸摸
- 19. android檢測觸摸
- 20. 檢測CAShapeLayer觸摸
- 21. 檢測觸摸UIButton
- 22. UINavigationItem:檢測觸摸
- 23. 觸摸後如何檢測觸摸
- 24. 觸摸事件
- 25. 觸摸事件
- 26. 使用觸摸事件在imageView中進行連續觸摸檢測..?
- 27. 在Monotouch中檢測UIPageViewController中的控件上的觸摸事件
- 28. Android測試,可視化觸摸事件
- 29. 3D觸摸功能檢查問題 - Swift
- 30. Android多點觸控事件問題...拖動時沒有新的觸摸事件?
謝謝你的想法:) – DevfaR