触摸事件检测问题 [英] Touch Event detection issue

查看:21
本文介绍了触摸事件检测问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将事件侦听器添加到对象并移到该对象之外时,event.phase == "ended"将不会被触发,因为它检测到对象之外。 我的问题是:有没有一种方法可以检测event.phase == "ended",即使用户在对象外部释放触摸,或者是否有其他方法可以检测用户是否在不使用运行时事件侦听器的情况下举起了手指?

推荐答案

您可以尝试以下方法:

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)
继续编码..................😃

这篇关于触摸事件检测问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆