Corona中的触摸事件何时处于“取消”阶段?

时间:2012-05-24 06:34:35

标签: lua corona

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

2 个答案:

答案 0 :(得分:1)

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

看起来触摸事件实现了UITouch对象(以及Android上的等效物)。在Google上搜索“iphone uitouch cancelled”会产生this question,这应该会回答您的问题。

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

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

答案 1 :(得分:1)

基本上,如果你拿着一个物体,按钮等,你将手指滑开而不是释放它将被注册为“已取消”,你可以做你想做的事,通常与'结束'相同< / p>

示例:

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