2012-05-24 81 views
2

Corona的觸摸事件有4個階段:「開始」,「移動」,「結束」和「取消」。活動何時收到「取消」階段? (我沒有找到一個可以用它取消事件的函數,你可以刪除監聽器)。 如何在應用程序中使用「已取消」事件階段?Corona中的觸摸事件何時具有「取消」階段?

回答

1

Corona SDK是iOS和Android之上的抽象層;大多數設計決策都會反映在底層平臺上。

觸摸事件似乎實現了UITouch對象(以及Android上的任何對等物)。在Google上搜索「iphone uitouch cancelled」,結果爲this question,應該回答你的問題。

如果您需要手動「取消」某個事件,只需在關聯的對象(或觸摸事件中,如果它是一張簡單的表格)中存儲標誌並在調用「移動」或「結束」時檢查它。

(聲明:我從來沒有使用電暈,也爲移動平臺開發的。)如果你持有的對象,按鈕等

1

基本上,你滑動手指關閉,而不是將其釋放,將被註冊爲「取消」,你可以做你希望與什麼,通常與「結束」

例子:

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 
+0

「通常爲‘結束’一樣」,也不會同意。在你的例子中,這是真的,但最常用的事情之一是跟蹤對象的點擊。在這種情況下,忽略該事件通常會更好 –