Corona 中的触摸事件何时有“取消”阶段?
Posted
技术标签:
【中文标题】Corona 中的触摸事件何时有“取消”阶段?【英文标题】:When does the touch event in Corona have a "cancelled" phase? 【发布时间】:2012-05-24 06:34:34 【问题描述】:Corona 中的触摸事件有 4 个阶段:“开始”、“移动”、“结束”和“取消”。事件何时收到“取消”阶段? (我没有找到可以用它取消事件的函数,你可以删除监听器)。 以及如何在应用程序中使用“已取消”事件阶段?
【问题讨论】:
【参考方案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'一样",不同意。在您的示例中,这是真的,但使用它的最常见的事情之一是跟踪对对象的点击。在这种情况下,通常最好忽略该事件以上是关于Corona 中的触摸事件何时有“取消”阶段?的主要内容,如果未能解决你的问题,请参考以下文章