【问题标题】:When does the touch event in Corona have a "cancelled" phase?Corona 中的触摸事件何时有“取消”阶段?
【发布时间】:2012-05-24 06:34:34
【问题描述】:

Corona 中的触摸事件有 4 个阶段:“开始”、“移动”、“结束”和“取消”。事件何时收到“取消”阶段? (我没有找到可以用它取消事件的函数,你可以删除监听器)。 以及如何在应用程序中使用“已取消”事件阶段?

【问题讨论】:

    标签: lua coronasdk


    【解决方案1】:

    Corona SDK 是 iOS 和 Android 之上的抽象层;大多数设计决策都会反映在底层平台上。

    触摸事件似乎实现了 UITouch 对象(以及 Android 上的任何等效对象)。在 Google 中搜索“iphone uitouch cancelled”会得到this question,这应该会回答您的问题。

    如果您需要手动“取消”事件,只需将标志存储在关联对象中(或在触摸事件中,如果它是一个简单的表格)并在调用“移动”或“结束”时检查它。

    (免责声明:我从未使用过 Corona,也没有为移动平台开发过。)

    【讨论】:

      【解决方案2】:

      基本上,如果您拿着一个对象、按钮等,并且您将手指滑开而不是松开它,这将被注册为“已取消”,您可以随心所欲地进行操作,通常与“结束”相同

      例子:

      if event.phase == "began" then --Pressing the button
         move = true
      elseif event.phase == "canceled" then --sliding your finger off
         move = false
      elseif event.phase == "ended" then --Releasing the button
         move = false
      end
      

      【讨论】:

      • "通常和'end'一样",不同意。在您的示例中,这是真的,但使用它的最常见的事情之一是跟踪对对象的点击。在这种情况下,通常最好忽略该事件
      猜你喜欢
      • 2013-04-01
      • 2012-02-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多